【问题标题】:Pause and resume CADisplayLink between storyboards在情节提要之间暂停和恢复 CADisplayLink
【发布时间】:2013-09-29 13:11:17
【问题描述】:

我为我的游戏循环设置了一个 CADisplayLink 来处理动画循环。

当游戏结束时,我会展示另一个带有游戏结果的故事板。 在该故事板上,用户可以选择再试一次。如果是这样,我选择再次展示游戏情节提要。

如何以正确的方式暂停和恢复 CADisplayLink? 还是应该在游戏重新开始时销毁 CADisplayLink 并创建一个新的?

【问题讨论】:

    标签: ios objective-c game-loop cadisplaylink


    【解决方案1】:

    如何设置一个isRunning 属性,如果设置为NO 应该强制CADisplayLink 的处理程序方法立即返回(不调用使动画和游戏运行的代码)。

    -(void) tick:(CADisplayLink*)
    {
        if (!self.isRunning) return;
    
    }
    

    【讨论】:

    • 谢谢。内存消耗呢?这个可以吗?如果游戏在后台运行,这样可以吗?
    • 我在游戏结束后通过调用移除游戏循环时解决了这个问题:[updater removeFromRunLoop:[NSRunLoop currentRunLoop] forMode: NSRunLoopCommonModes];
    猜你喜欢
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 2010-12-24
    • 2013-07-19
    • 2015-07-28
    相关资源
    最近更新 更多