2017-01-16 1 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이되면 네 가지 동작 중 하나가 발생합니다. 따라서 노드 자체가 아니라 실제 노드에있을 수 있습니다. –

0

: 작업이 완료되면, 타이머는 다시이 같은 5