2016-06-27 10 views
0

私は、画像の変化率が時間とともに変化するゲームに取り組んでいます。最初は2秒ごとに画像が変化し、その後は速くなります。迅速にタイマー間隔を更新するには?

var change = 2.0 

func setupGame(){ 
    change = 2.0 

    changeImage() 
} 

func changeImage(){ 
    timer = NSTimer.scheduledTimerWithTimeInterval(change, target: self, selector: #selector(SecondViewController.changeColors), userInfo: nil, repeats: true) 

    change -= 0.1 
} 

問題は、それがあまりにも多くをスピードアップし、それが停止しないということです。最終的に変更値は負になります。

これを行う方法はありますか?

答えて

4

あなたは2つのことを忘れています。

  • まず、タイマーが起動するたびに新しい繰り返しタイマーを作成します。新しいタイマーを作成する前に、古いタイマーinvalidateする必要があります。とにかくタイマーを交換しようとしているので、あなたはではありません。はこれを繰り返しタイマーにします。 trueの代わりにfalseと言う必要があります。

  • 第2に、changeを小さくしたくない場合は、changeのサイズが小さくなっていることを確認する必要があります。さらに速くしたくない場合は、減らさないでくださいそれ。

関連する問題