iPhone 게임 개발을 위해 cocos2d를 사용하면 레이어와 장면을 혼동합니다. 예를 들어, 내 간단한 게임에는 메인 메뉴, 최고 기록, 게임 보드 등과 같은 여러 개의 "UI 페이지"가 있습니다.iPhone 게임 개발을위한 Cocos2d의 레이어 대 장면
"UI 페이지"마다 레이어 또는 장면을 사용해야합니까?
iPhone 게임 개발을 위해 cocos2d를 사용하면 레이어와 장면을 혼동합니다. 예를 들어, 내 간단한 게임에는 메인 메뉴, 최고 기록, 게임 보드 등과 같은 여러 개의 "UI 페이지"가 있습니다.iPhone 게임 개발을위한 Cocos2d의 레이어 대 장면
"UI 페이지"마다 레이어 또는 장면을 사용해야합니까?
SpritesDemo.m이/.H, 그들이 레이어를 사용하고 새로운 장면을 만들어 레이어를 부착 한 후 코드는 다음을 수행
@interface SpriteDemo : Layer
@interface SpriteManual : SpriteDemo
감독의 장면을 교체하는 것으로 나타납니다 검토 다음
-(void)nextCallback:(id)sender {
Scene *s = [Scene node];
[s add: [nextAction() node]];
[[Director sharedDirector] replaceScene s];
}
것은 그래서, 짧은에, 귀하의 질문에 대한 대답은 "모두", 당신은 실제 "UI 페이지"를 표현하기 위해 레이어를 사용하는 것입니다,하지만 당신은 새로운 장면에 레이어를 연결하고 전류를 교체 감독의 장면.
TouchEventsDelegate를 구현하는 Cocos2D의 유일한 클래스이기 때문에 터치 입력이 없으면 실제로 레이어를 사용할 필요가 없습니다. 데모는 레이어없이 장면에 직접 코드를 삽입하면 잘 작동하므로 다른 Cocos2D 기능 (어린이 추가, 위치 설정 등)을 보여줄 수 있다고 말할 수있는 한 데모가 제대로 작동합니다.
그것은 쉽게 :
그들은 그 예에서 CCLayer하고 새로운 장면을 만들어 그 위에 레이어를 부착 A + 장면 방법이있다. 레이어는 이름을 지정한대로 "UI 페이지"가 아니기 때문에 장면은 "UI 페이지"입니다.
둘 다 (장면과 레이어)에 레이어를 더 추가 할 수 있습니다. 그래서 원하는만큼 많은 레이어를 쌓을 수 있습니다. 이는 실제로 각 객체에 대한 레이어를 만들고 해당 레이어에서 터치를 사용하여 멀티 터치를 활성화하는 좋은 방법입니다. 요점은 그들이했던 방식이 옳다는 것입니다. 따라서 레이어로 작업하고 그 + scene 메서드를 사용하여 메인 레이어를 장면에 첨부해야합니다.
희망이 도움이됩니다. 영어로 죄송합니다. 네이티브가 아닙니다.
CCScene보다는 CCLayer 기능을 대체해야합니다. 이런 식으로 CCScene 함수를 전혀 오버라이드 할 필요가 없습니다. – Emadpres