2013-06-22 105 views
-1

幾個月前,我已經開始在cocos2d iphone上開發了。現在我即將完成自己的比賽,並堅持一個位置。我知道這是編碼問題。跳轉到Cocos2d遊戲主屏幕iphone

首先我想解釋一下主屏幕。當遊戲開始時,有一些動畫需要大約7秒鐘,然後我的播放按鈕出現。然後我點擊並開始遊戲。

現在我想要實現一個按鈕,當我點擊那個按鈕時,場景將是過境,然後直接我可以看到我的主菜單沒有動畫。

所以基本上我不想讓用戶先等待動畫完成。我希望他們直接玩遊戲。

任何指導方針或暗​​示將不勝感激。

回答

0

我在演示代碼中實現了三個不同的按鈕。每個按鈕都會進入同一班級的場景,但每次按鈕都會顯示不同的scenerio作爲點擊par按鈕。

這是一個HelloWorldLayer.h

#import "cocos2d.h" 

@interface HelloWorldLayer : CCLayer 
{ 
} 

// returns a CCScene that contains the HelloWorldLayer as the only child 
+(CCScene *) scene:(int)level; 
+(id)nodeWithGameLevel:(int)level; 
-(id) initWithGameLevel:(int)level; 
@end 

HelloWorldLayer.m

@implementation HelloWorldLayer 
+(CCScene *) scene:(int)whichLevel 
{ 
    // 'scene' is an autorelease object. 
    CCScene *scene = [CCScene node]; 

    // 'layer' is an autorelease object. 
    HelloWorldLayer *layer = [HelloWorldLayer nodeWithGameLevel:whichLevel]; 
    // add layer as a child to scene 
    [scene addChild: layer]; 

    // return the scene 
    return scene; 
} 
-(id) initWithGameLevel:(int)level 
{ 
    if((self=[super init])) { 
     printf("level:%d",level); 
     if (level == 1) { 
      //Code for scene with full animation. 
     }else if(level == 2){ 
      //code for scene without animation. 
     }else if(level == 3){ 
      // any other scene which you want. 
     } 
     CCMenuItemImage *item1 = [CCMenuItemImage itemWithNormalImage:@"Icon-72.png" selectedImage:@"Icon-72.png" target:self selector:@selector(goToMainMenu)]; 
     CCMenuItemImage *item2 = [CCMenuItemImage itemWithNormalImage:@"Icon-72.png" selectedImage:@"Icon-72.png" target:self selector:@selector(goToRestartMenu)]; 
     CCMenuItemImage *item3 = [CCMenuItemImage itemWithNormalImage:@"Icon-72.png" selectedImage:@"Icon-72.png" target:self selector:@selector(goToMainPage)]; 
     CCMenu *menu = [CCMenu menuWithItems:item1,item2,item3, nil]; 
     [self addChild:menu]; 
     [menu alignItemsVertically]; 
    } 
    return self; 
} 

+(id)nodeWithGameLevel:(int)level{ 
    return [[[self alloc] initWithGameLevel:level] autorelease]; 
} 
-(void)goToMainMenu{ 
    [[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[HelloWorldLayer scene:1] withColor:ccWHITE]]; 
} 
-(void)goToRestartMenu{ 
    [[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[HelloWorldLayer scene:2] withColor:ccWHITE]]; 
} 
-(void)goToMainPage{ 
    [[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[HelloWorldLayer scene:3] withColor:ccWHITE]]; 
}