cocos2d调度选择器错误

时间:2011-06-06 03:25:57

标签: iphone objective-c cocos2d-iphone schedule

我在安排方法时遇到错误。 (根据你的分数显示你得到多少颗星。我有addStar0 addStar1 addStar2 addStar3方法)

[self schedule:@selector(addStar0) interval:0.2f];

,方法是:

-(void) addstar0 {
    [self unschedule:_cmd];

    if (star > starProgress) {
        starProgress++;
        [self schedule:@selector(addStar1) interval:0.5f];
    }
    else {
        [self schedule:@selector(displayResult) interval:0.5f];
    }

}

错误消息:

Signature not found for selector - does it have the following form? -(void) name: (ccTime) dt

我尝试将所有方法更改为addStar1:(ccTime)delta和schedule:@selector(addStar :) interval:0.2f,但仍然相同。 (实际上我已经使用两种方式来安排(有/没有参数),并且它们在我上一个项目中都运行良好。)

另外,有一个奇怪的事情:有时候我不能使用[自我安排:某事],但[CCScheduler sharedScheduler]安排:某事可行。我想这可能是项目设置左右?

请用代码回答。谢谢。

3 个答案:

答案 0 :(得分:3)

您正在使用'addStar0'作为选择器

[self schedule:@selector(addStar0) interval:0.2f];

然后

-(void) addstar0 {

应该是

-(void) addStar0 {

答案 1 :(得分:0)

我认为您的错误实际上是[self unschedule:_cmd];

_cmd在哪里定义?尝试注释掉该行并再次运行它。

答案 2 :(得分:0)

[self unschedule:_cmd];放在else语句

之后