0

我正在尝试为我的游戏构建一个小级别系统。我想要一个更新方法来处理我的游戏主逻辑。所以我在父类 .h 文件中声明了一个方法:

级别.h:

-(void)gameLogicTick:(ccTime)dt;

然后我在 Level.m 中实现,不认为确切的代码是相关的。

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

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

这使我的游戏崩溃(5 秒后),没有任何调试消息。

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

4

2 回答 2

0

不要尝试弄乱父类gameLogicTick:方法。让那个人全速完成它的事情。在您的 Forest.m 中,只需调用

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

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

于 2013-01-12T14:57:44.787 回答
0

你做什么都没问题。也许 Forest 对象被释放(例如,因为它从未作为子节点添加到父节点)并且下次 CCScheduler 更新计划的方法时,它将尝试在已发布的实例上运行您的方法。

您应该在 Xcode 中启用全局异常断点以获取更多崩溃信息以及发生崩溃的确切行。

于 2013-01-12T16:20:09.503 回答