Cocos2d iphone Cocos2D:使用自定义间隔运行父更新方法

Cocos2d iphone Cocos2D:使用自定义间隔运行父更新方法,cocos2d-iphone,Cocos2d Iphone,我试图为我的游戏建立一个小的关卡系统。我想要一个更新的方法,照顾我的游戏主要逻辑。因此,我在父类.h文件中声明了一个方法: h级: -(void)gameLogicTick:(ccTime)dt; 然后我在Level.m中进行实现,不认为确切的代码是相关的 我创建了一个名为Forest的Level子类。在Forest init方法中,我想指定gameLogicTick的间隔,我这样做了: [self schedule:@selector(gameLogicTick:)interval:5.0f

我试图为我的游戏建立一个小的关卡系统。我想要一个更新的方法,照顾我的游戏主要逻辑。因此,我在父类.h文件中声明了一个方法:

h级:

-(void)gameLogicTick:(ccTime)dt;
然后我在Level.m中进行实现,不认为确切的代码是相关的

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

[self schedule:@selector(gameLogicTick:)interval:5.0f];
这使得我的游戏崩溃(5秒后),没有调试消息


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

不要尝试与父类混为一谈
gameLogicTick:
方法。让它全速运转。在你的森林里。m,只要打个电话

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

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

您所做的一切都可以。可能林对象被解除分配(例如,因为它从未作为子节点添加到父节点),下次CCScheduler更新计划的方法时,它将尝试在已发布的实例上运行您的方法


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

那么,我必须在每个级别的子类中使用该方法,也许我必须找到另一种方法。是的,我在更新方法中使用它,没有间隔<代码>[self schedule:@selector(勾选:)]这很好。更新:问题似乎是我在实现中调用的方法。