1

我在安排方法时出错。(根据你的分数显示你得到多少星。我有 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:) 间隔:0.2f,但仍然相同。(实际上我已经使用了两种方式来安排(带/不带参数),并且它们在我的上一个项目中都运行良好。)

另外,一件奇怪的事情:有时我不能使用 [self schedule: something],但 [CCScheduler sharedScheduler] schedule: something] 工作正常。我想这可能是项目设置左右?

请用代码回答。谢谢你。

4

3 回答 3

3

您正在使用“addStar0”作为选择器

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

然后

-(void) addstar0 {

应该

-(void) addStar0 {
于 2011-06-06T04:01:25.953 回答
0

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

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

于 2011-06-06T03:33:53.443 回答
0

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

于 2011-06-06T03:55:40.510 回答