在我的游戏中,我在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中。
答案 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。