2014-03-28 149 views
0

我试图从gamePlayscene更改为GameOverScene,但是当模拟器尝试更改场景时,模拟器停止但我没有在Log中收到任何消息。更改场景cocos2d

GameOverScene.h

@interface GameOverScene : CCScene { 
    GameOverScene *scene; 
    //screen size 
    float winWidth; 
    float winHeight; 

    //Game vars 
    int score; 

    //Facebook vars 
    FBSession* session; 
    NSString *messageStr; 
    NSString *userid;  
} 

+ (GameOverScene *)scene; 
- (id)init; 

@end 

GameOverScene.m

@implementation GameOverScene { 


} 


+ (GameOverScene *)scene 
{ 


    return [[self alloc] init]; 


} 

// ----------------------------------------------------------------------- 

- (id)init 
{ 
    if((self=[super init])) { 
     NSLog(@"define tamanho da tela"); 
     winWidth = self.contentSize.width; 
     winHeight = self.contentSize.height; 



     NSLog(@"define botao"); 
     // Facebook login button 
     CCButton *fbLoginButton = [CCButton buttonWithTitle:@"Login with FB" fontName:@"Verdana-Bold" fontSize:30.0f]; 
     fbLoginButton.position = ccp(winWidth/2, winHeight/2); 
     [fbLoginButton setTarget:self selector:@selector(fbLoginClicked:)]; 
     [self addChild:fbLoginButton]; 

    } 

} 

我打电话GameOverScene这样:

[[CCDirector sharedDirector] replaceScene:[GameOverScene scene] 
           withTransition:[CCTransition transitionFadeWithDuration:1.0f]]; 
+0

您正在替换当前场景的相同场景。所以你永远是当前的场景。 –

回答

2

放于 “回归自我” - (ID )在if块之后的init方法。