2014-05-16 5 views
0

투명 배경이있는 일시 정지 된 장면 위에 장면/노드를 추가하려고하므로 활성 장면보기가 계속 표시됩니다.일시 정지 된 장면 위에 SpriteKit 장면/노드가 나타납니다.

장면을 scene.view.paused = YES;으로 일시 중지했지만 모든 것이 일시 중지되었지만 업데이트 방법을 의미합니다. Cocos2d 하나

쉽게 기존의 위에 새로운 장면을 밀어 수 있지만, 불행하게도 SpriteKit이 기능이 없습니다.

장면을 일시 정지하고 그 위에 활성 장면/노드를 추가하는 방법이 있습니까?

내가 시도했습니다 해결책 :

일시 정지 장면의 내용이 추가 뷰 컨트롤러를 작성하고 필요한 경우 활성 뷰 컨트롤러를 통해 그것을 제시하지만, 투명성이 달성되지 않도록 배경이 항상 검은 색이며, 원래 장면에서 다른 문제가 발생합니다 (필요한 경우이 부분을 자세히 설명합니다).

답변

5

모두 있습니다. 새로운 장면이나 장면을 제시 할 필요가 없습니다. 간단히 말해서

:

    당신의 게임 콘텐츠가 일시 중지하려는에있는 노드를 일시 정지
  • . 장면 클래스에서 모든 처리를 수행하면 리팩토링해야합니다. 걱정됩니다. 열쇠는 특정 노드를 일시 중지 할 수 있도록 "게임 계층"의 역할을하는 SKNode를 가지고 있습니다. update : 및 게임 레이어에 대한 다른 일반적인 메서드 호출을 받으면 처리하기 전에 self.paused 상태를 확인해야합니다.
  • 그렇게하면 모든 노드와 동작이 일시 중지되는 게임 레이어 노드를 일시 중지합니다.
  • 이제 장면에 필요한 UI가있는 다른 "계층"노드를 추가하십시오. 게임 오버 또는 일시 중지 레이어 일 수 있으며 게임 레이어가 일시 중지 된 동안 입력 및 실행 작업을받는 것이 매우 행복 할 것입니다.
+0

나는 그 점을 놓쳤다 고 생각할 수 없다! 단 한 장면 만 일시 정지 할 수 있다고 확신했습니다. 갑자기 모든 것이 분명하고 분명한 것처럼 보입니다.). 빠른 답변 감사합니다! – giorashc

+1

나는 scene.view.paused가 노드에 view 속성이 없으므로 장면 만 일시 정지 할 수 있다고 생각했다. – giorashc