**非常感谢大家!我使用了jeffaphone和Martin H的答案,一直盯着这几个小时非常感谢你:) * *
我正在开发一个项目,我有一个简短的声音文件,在游戏运行时每1.35秒播放一次,但是当游戏停止时我如何关闭计时器?如果你什么也不做,声音文件会继续循环,如果你再次开始游戏,就会开始一个新的循环。
到目前为止我的代码是这个;
if ((self.currentState = GameStateRunning)) {
self.timer = [NSTimer scheduledTimerWithTimeInterval:1.35 target:self selector:@selector(sound:) userInfo:nil repeats:YES];
// [self sound:nil];
}
else if ((self.currentState = GameStateEnded)) {
[sound removeAllActions];
我已经尝试停止声音,但似乎没有用,所以有没有办法停止或重置计时器,以便循环停止,直到游戏再次启动?
答案 0 :(得分:1)
停止计时器:
[self.timer invalidate];
self.timer = nil;
请注意,您没有保留计数,因此您不会将其释放(如果您不是ARC)。