Cocos2d игра Таймер - PullRequest
       25

Cocos2d игра Таймер

0 голосов
/ 18 марта 2011

Я хочу добавить таймер в мою игру. У меня есть синглтон GameManager.

-(void) startTimerWithDuration:(float) duration
{
    [self schedule:@selector(timeUp) interval: duration];
}
-(void) timerUp
{
    [self unschedule:_cmd];
    [self lose];
}
-(void) lose
{
    [[CCDirector sharedDirector] pushScene: [GameOverScene node]];
}

Тогда в моей инициализации GameScene у меня есть

[self addChild:[GameManager node]];

Тогда у меня есть:

[[GameManager sharedManager] startTimerWithDuration:60.0f];

Я получаю эту ошибку в консоли:

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

А это cctimer

#if COCOS2D_DEBUG
    NSMethodSignature *sig = [t methodSignatureForSelector:s];
    NSAssert(sig !=0 , @"Signature not found for selector - does it have the following form? -(void) name: (ccTime) dt");
#endif

Не знаю почему. Есть ли общий подход к подсчету времени? Так как это обычное использование, я думаю.

1 Ответ

0 голосов
/ 20 марта 2011

Ваш

-(void) timerUp
{
    [self unschedule:_cmd];
    [self lose];
}

должен быть

-(void) timerUp:(ccTime)delta
{
    [self unschedule:_cmd];
    [self lose];
}
...