2016-07-08 4 views
0

0 ~ 3 초 사이의 임의의 간격으로 여러 노드를 추가하는 프로그램을 만들려고합니다. 왜 내가 runAction이나 SKAction이 필요한지 설명해 주시겠습니까? 그리고 왜 내가이 블록 안에 임의의 함수를 넣을 수 없습니까? 또한 루프를 while 루프로 변환하여 더 쉽게 분리 할 수있는 방법이 있습니까? Spritekit을 사용하여 임의의 간격으로 루프를 실행하십시오.

내가 지금 무엇을 가지고 :
let wait = Double(random(min:0.0, max:3.0)) 

runAction(SKAction.repeatActionForever(
     SKAction.sequence([ 
      SKAction.runBlock(addNode), 
      SKAction.waitForDuration(wait) 
      ]) 

나는이 시도하지만

 var wait = Double(random(min:0.0, max:3.0)) 

    var x = true 
    while x == true 
     { 
      addNode() 
      SKAction.waitForDuration(wait) 
      wait = Double(random(min:0.0, max:3.0)) 
    } 

답변

3

waitForDuration 할 것 범위 매개 변수에 소요 작동하지 않는 것 + - 1/2 값이 지정되어 있으므로 2를 지정하면 지정된 시간에 --> 1의 범위 차이가 발생합니다.

EG 지속 시간 5 초 2

이 결과 범위

대기 4

대기 5.5

대기 4.47

대기 4.93

대기 5.99

특정 질문에 대한 답을

SKAction.waitForDuration(1.5, withRange 3) 
관련 문제