2013-05-19 5 views
2

어떻게 장면을 cocos2d로 전환합니까? 내 메인 클래스 "HellowWorldLayer.h/.m"을 가지고 있지만 장면을 올바르게 전환 할 수 없습니다. 나는 시도했다 : Cocos2d 장면 전환 방법

[[CCDirector sharedDirector] replaceScene:[Race node]]; 
//And 
[[CCDirector sharedDirector] replaceScene:[Race Scene]]; 

나는에 중단 점을 넣어 내가 그것을 새로운 장면으로 가고하지만 난 새로운 장면에 추가 버튼이 표시되지 않는 것을 볼 수 있습니다. 버튼을 올바르게 만들고 있습니다. 그럼이 같은 새로운 장면에서 화면에 추가하고 :

[self addChild:Menu]; 

난 그냥 HolloWorldLayer.m/.H에서 모든 코드를 가져다가 새로운 장면 (클래스)로 복사하지만 난 드릴 수 없습니다 올바르게 전이. 나는 xcode와 cocos2d에 익숙하지 않아서 정말 유감 스럽다.

이 나를 위해 일한대로 Race.m

#import "Race.h" 
#import "Intermediary.h" 

@implementation Race 


+(CCScene *) scene{ 
    // 'scene' is an autorelease object. 
    CCScene *scene = [CCScene node]; 

    // 'layer' is an autorelease object. 
    Race *layer = [Race node]; 

    // add layer as a child to scene 
    [scene addChild: layer]; 

    // return the scene 
    return scene; 
} 

-(id) init{ 

    if((self=[super init])) { 

     NSLog(@"Racing!"); 
     CCLabelTTF *startLbl = [CCLabelTTF labelWithString:@"Start" fontName:@"Marker Felt" fontSize:20]; 
     CCMenuItemLabel *startMenu = [CCMenuItemLabel itemWithLabel:startLbl block:^(id sender) { 
      NSLog(@"I have been pushed!"); 
     }]; 
     startMenu.position = ccp(50,50); 
     CCMenu *Menu = [CCMenu menuWithItems:startMenu, nil]; 
     [self addChild:Menu]; 


    } 
    return self; 
} 


@end 

답변

1

귀하의 코드입니다. 더 나은 모습을 위해 Download

사용 전환 : 여기

샘플입니다.

[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[Race scene] ]]; 
+0

답장을 보내 주셔서 감사합니다. HelloWorldLayer에서 장면 코드를 복사 한 다음이 두 이름을 내 클래스 이름으로 변경했습니다. 버튼은 여전히 ​​나타나지 않습니다. –

+0

ok, show me ... 문제의 메뉴 초기화 코드 ... 이미지가 놓여 있는지 확인하십시오. – Guru

+0

그게 무슨 뜻인지 생각합니다. –