代码之家  ›  专栏  ›  技术社区  ›  John B

停止xcode中的计时器?[副本]

  •  0
  • John B  · 技术社区  · 10 年前

    **非常感谢大家!我用了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];
    

    我试过停止声音,但似乎不起作用,所以有没有办法停止或重置计时器,这样循环就会停止,直到游戏再次启动?

    1 回复  |  直到 10 年前
        1
  •  1
  •   i_am_jorf    10 年前

    要停止计时器:

    [self.timer invalidate];
    self.timer = nil;
    

    请注意,您没有保留计数,因此不会释放它(如果您不是ARC)。