2014-11-25 5 views
0

시퀀스 작업 간의 관계는 무엇입니까? let sequence = SCNAction.sequence([action1, action2])SCNNode s?시퀀스 SCNActions와 SCNNode 사이의 관계

일반적으로 node.runAction(action)을 호출하면 작업과 노드 간의 연결이 이루어집니다. 예를 들어 전화하지 말아야한다고 가정합니다. node2.runAction(action2), 이는 아마도 action2을 즉시 실행하므로 시퀀스의 action1에 대한 시간 의존성을 무시합니다. 시퀀스의 모든 동작을 동일한 노드 (즉, node)에 "암시 적"으로 연관시키는 경우가 있습니까? 그렇다면 node.runAction(sequence)은 시퀀스의 모든 동작을 동일한 노드 아니면 다른 노드의 시퀀스에서 개별 작업을 실행할 수 있습니까? 그렇다면 어떻게해야합니까? 무엇을 달성 할 싶습니다

UPDATE이 (가) 다음 : 3 개 행동으로, node1 (즉, 그룹 동작을) node2node3 회전, 다음 (더 노드의 계층 구조까지) node4에 이동 작업을 수행 모든 회전이 완료되면 (즉, 시퀀스 동작)?

어떤 노드에서 어떤 동작을 시작할 때 (Swift) 명령문의 특정 순서가 궁금합니다.

답변

0

작업은 자체 포함 개체이며 노드에 연결되지 않습니다. 노드에서 작동하지만 해당 노드는 조치가 실행 중일 때 변수에서만 작동합니다. 여러 노드에서 동일한 작업을 안전하게 실행할 수 있습니다.

시퀀스 작업의 결과는 모든 노드에서 수행 할 수 있지만 실행 중에 고유 한 노드를 작동합니다 (즉, 사용자 지정 블록 기반 작업을 사용하지 않는 한).

+0

그렇다면'node1','node2','node3'을 병렬로 (즉, 그룹 액션으로) 순환시키고 모든 회전이 끝났을 때 (즉, 시퀀스 동작으로)'node4'를 움직이려면, ? 어떤 작업을 언제 어떤 노드에서 시작합니까? – Drux

+0

아무런 정답이 없습니다. 당신은'node1'' node2'와'node3'에 회전 액션을 실행하는 블럭 액션을 작성한 다음,이 액션을 대기 액션으로 그룹화하고, 마지막으로 결과를 이동 액션으로 그룹화하고'node4'에서 모든 것을 수행 할 수 있습니다. – mnuages

+0

샘플 코드를 제공해 주시겠습니까? – Drux