我还是编程新手,如果这很愚蠢,请原谅。我正在编写一个简单的游戏,并且需要多个计时器以不同的时间间隔发送不同的消息,因此在创建游戏时,会调用以下内容:
[self gameTimerValidate];
[self scoreTimerValidate];
- (void) gameTimerValidate
{
gameTimer = [NSTimer scheduledTimerWithTimeInterval:[myGame gIntervalSpeed] target:self selector:@selector(gameTimerInterval:) userInfo:nil repeats:YES];
}
- (void) scoreTimerValidate
{
scoreTimer = [NSTimer scheduledTimerWithTimeInterval:0.02 target:self selector:@selector(scoreTimerInterval:) userInfo:nil repeats:YES];
}
我在头文件(“NSTimer *gameTimer;”)中声明了 scoreTimer 和 gameTimer。我在暂停游戏或完成关卡时使计时器失效,并分别在恢复游戏或进入下一个关卡时再次调用上述方法。
我今天花了几个小时试图弄清楚为什么暂停游戏会使应用程序崩溃。在做了一些调试之后,我注意到 gametimer 的保留计数为 0,而 scoretimer 为 2。当然,我不能使保留计数为 0 的计时器无效,但我不确定这是怎么发生的。
有没有一种特定的方法我必须初始化两个不同的 NStimer?我一直在寻找几个小时无济于事......