2014-12-23 4 views
0

나는 Sprite Actions 등으로 완전히 기능하는 게임을 가지고 있습니다. 그러나 특정 시점에서 장면을 다시 시작해야합니다.Sprite Kit에서 장면을 다시 시작하는 방법

게임을로드 할 때마다 createSceneContents라는 didMoveToView의 메소드를 호출합니다. createSceneContents에서 나는 (Sprites, Labels .. 등등) 생성 될 필요가있는 모든 것을 생성합니다.

그러나 게임을 완전히 다시 시작하려면 어떻게해야합니까?

+0

모든 애셋을 시작 p로 재설정하는 방법으로 코드를 구성해야하는 것처럼 들립니다. 게임 장면을 다시 자동로드하는 코드로 현재 장면을 새로운 장면으로 전환하십시오. – sangony

+0

그 제안을 주셔서 감사합니다. 그 아이디어로 조금 놀아 주겠다. 다시 돌아온다. – SemAllush

+0

모든 것을 초기화하면 viewDidLoad에서 직접 설정하지 말고 모든 것을 생성하는 함수를 만든 다음 장면. 장면을 다시 생성 할 시간이되면'[self removeAllChildren]'메서드를 호출하면 기존의 모든 노드가 삭제되고 메서드를 호출하여 내용을 다시 생성 할 수 있습니다. – Andriko13

답변

1

두 가지가 포함 된 메서드를 만듭니다.

1) ATM을 사용하고있는 모든 것을 삭제 (모든 스프라이트, 액션, 라벨 등)

2) createSceneContents 방법

코드 사용을 통해 모든 것을 만들기 :

- (void) restart { 

[self removeAllChildren]; 
[self removeAllActions]; 
[self createSceneContents]; 
} 

씬을 다시 시작할 때마다이 메소드를 호출하십시오.

관련 문제