好吧,所以我想要在游戏中获得一定分数时解锁一个新角色。我有我的高分机制设置,以便一个称为“分数”的整数在游戏结束时识别分数(基于计时器系统),并将其设置为新的高分(假设您的分数较高)。然后它会将整数重置为0.这里的问题是,我不能说如果:整数读取允许说30,然后解锁此功能,因为它重置为0.所以我的问题是:是否有另一个无需使用此方法即可在游戏中解锁此功能。非常感谢!如何在获得某个分数后解锁一个功能
-4
A
回答
0
说你有两个不同的分值,currentScore和高分。
将highScore保存到用户NSUserDefaults。
在每轮结束时,将新分数与高分进行比较。如果新分数较高,则将其保存到高分NSUserDefaults键。
然后使用highScore确定什么级别解锁。
0
我不明白为什么你不能只是做这种方式您重置INT回到0之前:
if (scorenumber == 30) {
// unlock new level
} else if (scorenumber == 100) {
// unlock another level
}
0
有几种方法可以处理这个问题。您可以使用位标志或特定标志来指示是否有东西被解锁。
因此,举例来说,你可以做这样的事情
typedef NS_ENUM(NSUInteger, Unlockable) {
UnlockableA = 1,
UnlockableB = 2,
};
@property (nonatomic, assign) NSUInteger unlockables;
// Code for checking score and unlockables.
// Hardcoding these values is bad, but just doing this for convenience now
if (self.scorenumber >= 30) {
if (self.unlockables & UnlockableA) {
// Unlock A
self.unlockables |= UnlockableA;
}
}
// Note this is not an else if, so you can award it in cases
// if you had score numbers incrementing at arbitrary values
if (self.scorenumber >= 100) {
if (self.unlockables & UnlockableB) {
// Unlock B
self.unlockables |= UnlockableB;
}
}
代码没有测试编译,精度等
你必须确保坚持unlockables
,这也意味着它读在开始。
如果你去了特定变量的路线,你会做这样的事情:
@property(nonatomic, assign) BOOL unlockedA;
你可以从这里找出休息。
另一种选择是使用NSDictionary
来保存BOOL
(作为NSNumber
)。
还有其他方法可以做到,但这些都是低悬的水果方法。
+0
可以说我想取消隐藏一个按钮作为游戏的功能。在这个例子中,我会在哪里放置代码? – Apalumbo 2015-02-10 14:53:15
相关问题
- 1. 如何在某个功能完成后才能执行某个功能?
- 2. 功能锁定,直到某个日期
- 3. 如何在第二次点击时锁定某个功能
- 4. 如何在一段时间后取消某个功能?
- 5. 如何获得“上一个”和“下一个”功能?
- 6. 如何获得一个GUI按钮来执行一个功能?
- 7. pandas:如何在按列分组后获得第一个正数?
- 8. 如何获得最后一个数组
- 9. RIA:如何获得的功能,而不是一个数据
- 10. 创建一个解锁/锁定页面功能
- 11. 如何获得一个按钮来执行某项功能时,已被点击
- 12. 如何获得包含某个元素的最后一个数组?
- 13. 如何在执行某个其他功能时停止某个功能?
- 14. 如何在点击一个按钮时调用某个功能?
- 15. 如何在另一个启用时禁用某个功能?
- 16. 如何使一个功能只在某个区域运行(div)
- 17. 获得一个ID功能的对象
- 18. 如何获得此分割功能? (VB.NET)
- 19. 如何在另一个功能完成后执行功能?
- 20. 如何在完成第一个功能后执行功能?
- 21. 获得顶级高分和得分3下一个和后一个之后你
- 22. 如何在使用某个功能后维护您的网址?
- 23. 如何在间隔完成后调用某个功能?
- 24. 如何在给定时间后执行某个功能?
- 25. 如何在给定时间后激活某个功能?
- 26. 如何在打开对话框后执行某个功能?
- 27. 如何在显示某个元素后运行jQuery功能
- 28. 无法获得对焦功能,除了最后一个工作
- 29. 如何获得一个Facebook页面的功能的视频
- 30. 如何获得一个MethodMirror当前功能
这不会基于他写的内容。得分重置为0,所以你将多次传递'scorenumber'。另外,你假设他的得分每次都是+1。情况可能并非如此。顺便说一句,是的,他说基于计时器,但没有说你可能会从某些行动/事件中获得“点数”。 – 2015-02-10 01:54:46
在这种情况下,如果if语句解锁,他不能使用'highscore' int而不是'scorenumber'吗? – user3781632 2015-02-10 01:59:43