Cad*_*Loh 2 objective-c cocos2d-iphone
每当我暂停游戏时我都会遇到严重的问题,因为我的大部分时间performSelector:都有延迟,所以它不会立即执行,但如果我暂停游戏那么事情就会变坏然后performSelector仍在调用...我应该如何克服这个问题?
我知道有一个功能NSObject可以取消所有请求,但这并不是我正在寻找的,因为我希望该方法在玩家恢复游戏时继续执行.
根据cocos2d最佳实践,您不应该performSelector:afterDelay直接使用,而是使用cocos2d调度程序:
- 尽量不要使用Cocoa的NSTimer.而是使用cocos2d自己的调度程序.
- 如果您使用cocos2d调度程序,您将拥有:
- 自动暂停/恢复.
- 当CCLayer(CCScene,CCSprite,CCNode)进入舞台时,定时器将自动激活,当它离开舞台时,它将自动停用.
- 将使用增量时间调用目标/选择器
以下是您安排方法的方法(假设自己是a CCNode):
[self schedule: @selector(tick2:) interval:0.5];
Run Code Online (Sandbox Code Playgroud)
-tick2:如果您想要调用一次,请不要忘记取消计划.
| 归档时间: |
|
| 查看次数: |
865 次 |
| 最近记录: |