Cocos2d游戏计时器

时间:2011-03-18 18:59:58

标签: objective-c timer count cocos2d-iphone

我想为我的游戏添加一个计时器。我有一个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 :(得分:0)

你的

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

应该是

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