ошибка селектора расписания cocos2d - PullRequest
1 голос
/ 06 июня 2011

У меня ошибка при планировании метода.(чтобы показать, сколько звезд вы получаете в соответствии с вашим счетом. У меня есть методы 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, но все так же.(на самом деле я использовал оба способа планирования (с / без параметра), и оба они хорошо работали в моем последнем проекте.)

также, одна странная вещь: иногда я не могу использовать [само расписание: что-то], но расписание [CCScheduler sharedScheduler]: что-то] работает нормально.Я думаю, это могут быть настройки проекта или так?

Пожалуйста, ответьте на него кодом.благодарю вас.

Ответы [ 3 ]

3 голосов
/ 06 июня 2011

Вы используете 'addStar0' для селектора

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

, тогда

-(void) addstar0 {

должно быть

-(void) addStar0 {
0 голосов
/ 06 июня 2011

поставить [self unschedule:_cmd]; после оператора else

0 голосов
/ 06 июня 2011

Я думаю, что ваша ошибка на самом деле [self unschedule:_cmd];

Где определен _cmd?Попробуйте закомментировать эту строку и запустить ее снова.

...