2017-01-16 4 views
0

カウントダウンタイマーを作るにはどうすればいいですか?カウントダウンタイマーが0になると、シーンはxアクションを実行しますか?次に、タイマーをリセットしてプロセス全体を繰り返す方法はありますか?カウントダウンタイマーリピート?

EX:シーンがロードされるとタイマーは5秒で開始します。タイマーは0にカウントダウンし、アクションは自分のシーン内で実行されます。あなたが任意の次の行動とセルフ繰り返しタイマーを作成するためにタイマークラスを使用することができます

let waitAction: SCNAction = SCNAction.wait(duration: 5.0) 
let thisAction = SCNAction(some sort of action) 
let sequenceAction = SCNAction.sequence([waitAction, thisAction]) 
let repeatAction = SCNAction.repeatForever(sequenceAction, duration: 5.0)) 

theNode.runAction(repeatAction) 
+0

5秒後にトリガーするタイマーはかなり簡単です。あなたのために何が難しいのですか? – matt

+0

純粋なコードの書き込み要求は、スタックオーバーフローに関するトピックではありません。ここでは、*特定の*プログラミング問題に関連する質問がありますが、あなた自身で書くことを喜んで支援します!私たち[あなたが試したこと](http://stackoverflow.com/help/how-to-ask)とあなたが立ち往生しているところを教えてください。これはまた、あなたの質問によく答えるのにも役立ちます。 –

答えて

1

にこのような何かをリセットします。私が理解するように、swift3を使用します。

コードは以下の通りです:

Timer.init(timeInterval: 5.0, repeats: true, block: { (timer) in 
     print("Scene runned") 
}).fire() 

あなたはapple documentationを見て、タイマーの使用状況に関するより詳細な情報が必要な場合。

+0

'SCNAction'を使うことは、' Timer'を使うよりもはるかにSceneKitのスタイルと調和しています。 –

+0

@ GregRobertson私はこれを最初に考えていましたが、タイマーが0になると、4つのアクションのいずれかが発生します。したがって、ノード自体ではなく、実際のノードに存在することができます。 –

0

:アクションが完了すると、タイマーはバック5.