Cocos2d iphone 在Cocos2d iphone中跳转到游戏主屏幕
几个月前,我已经开始开发cocos2d iphone。现在我就要结束我的比赛了,我只停留在一个位置。我知道这是编码问题 首先我想解释一下主屏幕。当五月的游戏开始时,有一些动画大约需要7秒,然后我的播放按钮出现。然后我点击那个,游戏开始了 现在我想实现一个按钮,当我点击该按钮时,场景将被转换,然后我可以直接看到我的主菜单而不需要动画 所以基本上我不希望用户等待动画首先完成。我希望他们直接玩游戏Cocos2d iphone 在Cocos2d iphone中跳转到游戏主屏幕,cocos2d-iphone,Cocos2d Iphone,几个月前,我已经开始开发cocos2d iphone。现在我就要结束我的比赛了,我只停留在一个位置。我知道这是编码问题 首先我想解释一下主屏幕。当五月的游戏开始时,有一些动画大约需要7秒,然后我的播放按钮出现。然后我点击那个,游戏开始了 现在我想实现一个按钮,当我点击该按钮时,场景将被转换,然后我可以直接看到我的主菜单而不需要动画 所以基本上我不希望用户等待动画首先完成。我希望他们直接玩游戏 任何指导或暗示都将不胜感激 我在演示代码中实现了三个不同的按钮。每一个按钮将进入同一类的场景,但每次它会
任何指导或暗示都将不胜感激 我在演示代码中实现了三个不同的按钮。每一个按钮将进入同一类的场景,但每次它会显示不同的SeleNeo作为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.mclass
@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]];
}