2011-12-06 3 views
3

나는 메뉴 장면 계층과 같이 있습니다. 장면 사이를 전환하는 방법에 대한 많은 문서가 있지만 레이어간에 찾을 수있는 것은 없습니다. 메인 메뉴와 설정 메뉴 레이어는 모두 투명 배경이있는 전체 화면이며, 배경을 움직이지 않고 둘 사이를 슬라이드하기를 원합니다.cocos2d에서 레이어 간 전환은 어떻게됩니까?</p> <pre><code>Scene | Background Layer | | Main Menu Settings Menu </code></pre> <p>나는 배경 레이어를 이동하지 않고 설정 메뉴의 메인 메뉴에서 전환하려면 :

간단한 문제이지만, 한 시간 이상 웹을 검색 한 후에 완전히 엉망입니다.

+0

장면을 의도적으로 만들지 않는 이유는 무엇입니까? 필요한 것보다 더 복잡한 것을 만들지 않습니다. 추가 코드없이 상태를 계속 유지하는 것이 중요한 경우 푸시 및 팝 장면을 조사 할 수도 있습니다. – LearnCocos2D

+0

내가 본 것에서부터 나는 지속적인 배경을 가질 수 없다. 나는 백그라운드에 머무르는 것에 대해서 이야기하고있다. 애니메이션이 없다. (새로운 장면이 같은 배경이라해도 움직이지 않기를 바란다.) – rnystrom

+0

전환을 사용하지 않으면 배경이 이동하지 않습니다. 레이어를 전환하려면 두 레이어를 모두로드하고 CCMoveTo와 같은 액션을 동시에 실행하여 각 레이어를 이동하거나 밖으로 이동하십시오. – LearnCocos2D

답변

2

주 메뉴가 하위 노드입니다. 원하는 방향에 따라 + screenWidth 또는 -screenWidth 오프셋을 사용하여이 노드에 설정 메뉴를 추가하십시오. 그런 다음 노드를 화면의 반대쪽으로 이동하거나 뒤로 이동하는 경우 화면을 벗어나는 노드 CCMoveTo을 작성한 다음 CCCallFunc을 입력하면 주 노드에서 주 메뉴 계층을 제거하는 기능이 호출됩니다. 이것은 수직 천이에도 똑같이 잘 동작합니다 (단지 screenHeight를 사용하고 수직으로 노드를 움직입니다).

+0

집에 올 때 유망 해 보이네요. "노드"라고하면 CCNode 또는 CCLayer의 노드를 사용하는 것입니까? – rnystrom

+1

CCNode ('CCNode * container = [CCNode node];)를 사용하십시오. 아마도 헤더에 새 포인터가 아닌 포인터를 설정할 것입니다. – jrtc27

+0

당신은 그것을 못 박았습니다. 노드에 메뉴를 넣고 내가 원하는 방식으로 장면을 들락날락하게 움직이는 커스텀 메뉴 관리자를 설정하십시오. 감사! – rnystrom