2016-09-07 6 views

답변

3

다른 노드에 SKNode을 추가하면 일시 중지하려는 레이어 (SKNode) 만 일시 중지 할 수 있습니다. 당신이 현장에 아이를 추가하는 경우 대신, 이제

let gameLayer = SKNode() 
let pauseLayer = SKNode() 

을 레이어에 추가 : 그것은 다음과 같이 보일 것이다

gameLayer.addChild(gameSceneNode) 
pauseLayer.addChild(pauseSceneNode) 

받는 레이어를 추가하는 것을 잊지 마세요

SW : 장면이 너무

addChild(gameLayer) 
addChild(pauseLayer) 

이 레이어 쓰기를 일시 중지하려면

gameLayer.isPaused = true 

이 예에서 gameLayer의 모든 노드가 일시 정지됩니다 스위프트 2

gameLayer.paused = true 

참고 pauseLayer에 그러나 모든

IFT 3하지 않습니다.

2

특정 노드 (예 : 게임 플레이 노드)를 일시 중지하고 다른 노드를 일시 중지 할 수없는 방식 (예 : 일시 중지 메뉴 노드)으로 노드 트리를 디자인해야합니다. 노드에 paused 속성을 설정하면 모든 자식에도 적용됩니다.

예 노드 계층 구조 :

GameScene 
    GameplayNode 
     Character 
     Enemy 
     Enemy 
    PauseMenu 
     PlayButton 
     VolumeButton 

애니메이션을 적용 할 경우

당신의 PlayButton 게임이 일시 정지 된 상태에서, 당신은 GameplayNode.paused true에 설정하고 여전히 일시 정지 메뉴에 대한 SKAction 's의 작업을 할 수 있습니다.

+2

이 노드 유형을 구현하는 방법은 내 대답 – Nik

+2

@nathan을 참조하십시오. 그것. –