我试图为我的游戏组合一个小级系统。我想要一个更新方法来处理我的游戏主要逻辑。所以我在父类.h文件中声明了一个方法:
Level.h:
-(void)gameLogicTick:(ccTime)dt;
然后我在Level.m中执行,不要认为确切的代码是相关的。
我创建了一个名为Forest的Level子类。在林初始化方法中,我想指定 gameLogicTick 的间隔,我这样做了:
[self schedule:@selector(gameLogicTick:)interval:5.0f];
这使得我的游戏崩溃(5秒后)没有调试消息。
那么如何创建一个schedule update-method,我可以在其中指定当前类的间隔?
答案 0 :(得分:0)
不要尝试使用父类gameLogicTick:
方法。让那一个人全速完成它的事情。在您的Forest.m中,只需致电
[self schedule:@selector(update:) interval: 5.0f];
然后确保您的Forest实施中有适当的update:(ccTime)
delta。只是不要将它命名为与父类的方法相同,否则你不会有任何问题。
答案 1 :(得分:0)
你做的还可以。也许Forest对象被解除分配(例如,因为它从未作为子节点添加到父节点),并且下次CCScheduler更新已调度的方法时,它将尝试在已发布的实例上运行您的方法。
您应该在Xcode中启用全局异常断点以获取更多崩溃信息以及发生崩溃的确切行。