游戏崩溃与NSLog错误(cocos2d iPhone)

时间:2011-08-31 20:11:55

标签: iphone cocos2d-iphone crash assertion

在我的游戏中,我在GameLayer中制作了许多我需要在Level1中调用的方法。我不知道为什么,但是当我点击开始时,我在控制台中收到此错误,游戏崩溃。

Assertion failure in -[CCTimer initWithTarget:selector:interval:]

接着是

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Signature not found for selector - does it have the following form? -(void) name: (ccTime) dt'

我在这里上传了GameLayer.h和.m:http://www.4shared.com/file/O_1utrRj/undefined.html

注意:Level1(我称之为方法)在GameLayer中。

1 个答案:

答案 0 :(得分:1)

您已经调用了一个不存在的方法moveBunnyM。当它被有效调用时,您的应用程序崩溃了。

所写的是一个方法moveBunnyM:(float)delta

替换第173行:

[ptr moveBunnyM];

[ptr moveBunnyM:(float)dt]; 

因为您从一个名为moveBunny的方法中调用此方法,该方法恰好采用了dt参数

这将消除一次崩溃,但它表明您的源存在严重的逻辑问题。

建议:不要将几个@implementation放在同一个.m文件中。创建多个文件,每个类一个。 Level1应该在Level1.h中定义,导入Cocos.h,并在Level1.m中实现,导入Level1.h。