2016-09-13 6 views
0

遅延が宣言されていてエラーが発生しています。タイマーを遅くしようとしています。タイプ 'GameSceneにメンバー'遅延がありません '

//Updates Timer 
    func updateTimer() { 
     var delay: Int 
     seconds += 1 
     self.timerLabel.text = String(self.seconds * 0.01) 
     timer = NSTimer.scheduledTimerWithTimeInterval(-2.0, target: self, selector: #selector(GameScene.delay), userInfo: nil, repeats: false) 
+0

[1]:http://i.stack.imgur.com/oKX8b.png画像は – Bran

+0

ここのテキストとしてのエラーです。そのイメージが削除されても、その質問はまだ役立ちます。 – Robert

+0

あなたは間違った方向にいると思います。まず、あなたの遅延はvarとno関数、2番目のポイント、スプライトキットでNSTimerを使用するのを避ける必要があります待機ゲームでNSNotificationを除いて –

答えて

0

NSTimerのセレクタ部分は

func updateTimer() { 
    var delay: Int 
    seconds += 1 
    self.timerLabel.text = String(self.seconds * 0.01)} 
let timer = NSTimer.scheduledTimerWithTimeInterval(2.0, target: self, selector: #selector(self.updateTimer), userInfo: nil, repeats: false) 

また、あなたが可能性がありますが、その後、タイマーが関数の外ではなく、関数の内部に配置する必要がある関数を宣言して機能を実行するためのものですあなたがタイマーを遅くしようとしているといったときにはさらに具体的になります。

+0

どこにこれを置くと何も解決しませんでした。それはちょうど私により多くの誤りを与えていた。 – Bran

+0

現在2.2または3.0になっているのはどのバージョンですか? –

0

GameScene.delayのセレクタがないというメッセージが表示されます。この名前に一致するfuncが必要です。 "gameScene"ではなく "GameScene"を使用しているため、クラスである可能性があります。その場合は、delayという "class func"が必要です。しかし、「self.delay」を呼び出すほうが多いでしょう。すなわち、

func delay(timer: NSTimer) { ... } 
    class func delay(timer: NSTimer) { ... } 

の1はまた、何が「-2.0」を達成しようとしていますか?過去にタイマーを実行することはできません。< = 0の場合、デフォルトは0.1となります。

+0

セレクタの中でインスタンス名を使用しないでください。 'target'フィールドは、起動するインスタンスを指定し、' #selector(GameScene.updateTimer) 'をあなた自身の個人的なメモですが、名前空間がいくつか用意されている限り、デフォルトの名前空間は必要ありません(SKSceneではなく、updateTimerメソッドを持っている他のクラスを作成しても、 – Knight0fDragon

関連する問題