在情节提要之间暂停和恢复 CADisplayLink
Posted
技术标签:
【中文标题】在情节提要之间暂停和恢复 CADisplayLink【英文标题】:Pause and resume CADisplayLink between storyboards 【发布时间】:2013-09-29 13:11:17 【问题描述】:我为我的游戏循环设置了一个 CADisplayLink 来处理动画循环。
当游戏结束时,我会展示另一个带有游戏结果的故事板。 在该故事板上,用户可以选择再试一次。如果是这样,我选择再次展示游戏情节提要。
如何以正确的方式暂停和恢复 CADisplayLink? 还是应该在游戏重新开始时销毁 CADisplayLink 并创建一个新的?
【问题讨论】:
【参考方案1】:如何设置一个isRunning
属性,如果设置为NO
应该强制CADisplayLink
的处理程序方法立即返回(不调用使动画和游戏运行的代码)。
-(void) tick:(CADisplayLink*)
if (!self.isRunning) return;
【讨论】:
谢谢。内存消耗呢?这个可以吗?如果游戏在后台运行,这样可以吗? 我在游戏结束后通过调用移除游戏循环时解决了这个问题:[updater removeFromRunLoop:[NSRunLoop currentRunLoop] forMode: NSRunLoopCommonModes];以上是关于在情节提要之间暂停和恢复 CADisplayLink的主要内容,如果未能解决你的问题,请参考以下文章