我想为我的游戏添加一个计时器。我有一个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
我不知道为什么。是否有一些常用的方法来计算时间?因为这是我猜的常见用法。
答案 0 :(得分:0)
你的
-(void) timerUp
{
[self unschedule:_cmd];
[self lose];
}
应该是
-(void) timerUp:(ccTime)delta
{
[self unschedule:_cmd];
[self lose];
}