Cocos2D:运行带有自定义间隔的父更新方法



我正尝试着为我的游戏创造一个小型关卡系统。我想要一个能够处理游戏主逻辑的更新方法。我在父类。h文件中声明了一个方法:

Level.h:

-(void)gameLogicTick:(ccTime)dt;

然后我在Level中执行。M,不要认为确切的代码是相关的。

我创建了一个名为Forest的Level子类。在Forest初始化方法中,我想指定gameLogicTick的间隔,我这样做:

[self schedule:@selector(gameLogicTick:)interval:5.0f];

这使我的游戏崩溃(5秒后)没有调试信息。

那么我如何创建一个可以在当前类中指定间隔的时间表更新方法呢?

你做的还可以。也许Forest对象被释放了(例如,因为它从未作为子节点添加到父节点),下一次CCScheduler更新调度方法时,它将尝试在已经释放的实例上运行您的方法。

你应该在Xcode中启用全局异常断点来获取更多的崩溃信息和崩溃发生的确切行

不要尝试搞乱父类gameLogicTick:方法。让它全速前进吧。在你的森林里。M,只需调用

[self schedule:@selector(update:) interval: 5.0f];

,然后确保在您的Forest实现中有适当的update:(ccTime)增量。只要不要将它命名为与父类的方法相同,就不会出现任何问题。

最新更新