씬 전환
어떤 게임을 시작하고 스테이지를 변경하거나 게임을 종료시킬때 게이머에게 다른 장면을 보여주기위해선 다른 씬으로 전환하는게 필요하다.
Cocos2d-x는 이러한 방법을 위해 씬전환을 제공한다.
씬 전환하는 방법
씬전환 하는 방법은 여러방식이 있다.한번 봐보자.
C++
auto myScene = Scene::create();
runWithScene()은 게임을 시작할때 첫번째 씬을 로드할때 사용된다.첫번째 씬만 로드하는것이다.
C++
Director::getInstance()->runWithScene(myScene);
replaceScene() 는 원래 있던씬에서 다른 씬으로 로드할때 사용된다.그리고 전환되기전의 원래의 씬은 릴리즈된다.이것은 씬전환할때 가장 자주 사용된다.
C++
Director::getInstance()->replaceScene(myScene);
pushScene() 은 원래 실행중이던 씬을 일시정지시켜서 씬 스택에 두고 새로운 씬을 로드한다.정상적인 씬이 실행되던중에만 이방법을 쓸수있다.
C++
Director::getInstance()->pushScene(myScene);
popScene() 현재의 씬을 릴리즈하고 씬 스택 제일 위에있는 씬이 다시 실행된다.그리고 해당씬의 일시정지를 풀고 정상실행시킨다.만약 씬 스택이 비어있다면 바로 종료된다.
C++
Director::getInstance()->popScene(myScene);
씬전환의 효과를 설정하기
씬전환 중 에서 다음과 같은 효과를 넣어줄수 있다.
C++
auto myScene = Scene::create();
// Transition Fade
Director::getInstance()->replaceScene(TransitionFade::create(0.5, myScene, Color3B(0,255,255)));
// FlipX
Director::getInstance()->replaceScene(TransitionFlipX::create(2, myScene));
// Transition Slide In
Director::getInstance()->replaceScene(TransitionSlideInT::create(1, myScene) );
출처: <http://cocos2d-x.org/docs/cocos2d-x/zh/scenes/transitioning.html>
'Cocos2d-x v3.17 > 기본기능' 카테고리의 다른 글
[Cocos2d-x 기본기능]UI 컴포넌트 Menu (0) | 2018.08.11 |
---|---|
[Cocos2d-x 기본기능]UI 컴포넌트 소개 및 Label (0) | 2018.08.11 |
[Cocos2d-x 기본기능]Scene 소개 및 생성 (0) | 2018.08.11 |
[Cocos2d-x 기본기능] Clone,Reverse (0) | 2018.08.11 |
[Cocos2d-x 기본기능]Sequence,Spawn (0) | 2018.08.11 |