大佬教程收集整理的这篇文章主要介绍了cocos2d中分步实现飞机大战----场景跳转,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,作为一个完整的游戏项目,要有满足游戏要求的界面,并实现之间的跳转,不能只有一个游戏主界面。
下面以主场景界面为例:
.h文件
#include "cocos2d.h"
USING_NS_CC;
@H_801_30@class menuScene:@H_801_30@public Layer{
public:
@H_801_30@static Scene * createScene(); //创建场景
CREATE_FUNC(@H_633_34@menuScene);
@H_801_30@void menuCallBACk(Ref * obj); //按钮回调函数
};
.CCP文件
#include "menuScene.h"
#include "gameScene.h" //---引用要跳转的的场景
#include "HelpScene.h"
#include "aboutScene.h"
Scene * @H_633_34@menuScene::createScene(){
@H_801_30@auto scene=Scene::create();
scene->addChild(@H_633_34@menuScene::create());
@H_801_30@return scene;
}
@H_801_30@bool @H_633_34@menuScene::init(){
@H_801_30@if (!Layer::init()) {
return false;
}
//-------添加背景图
@H_801_30@auto sp=Sprite::create("img_bg_logo.jpg");
sp->setPosition(Director::geTinstance()->getWinSize().@H_822_197@width/2,
Director::geTinstance()->getWinSize().@H_822_197@height/2 );
@H_801_30@auto splogo=Sprite::create("LOGO.png");
//-------添加logo
@H_801_30@this->addChild(splogo);
splogo->setPosition(Director::geTinstance()->getWinSize().@H_822_197@width/2,-200);
splogo->runAction(@H_633_34@moveTo::create(1,Vec2(Director::geTinstance()->getWinSize(). @H_822_197@width/2,Director::geTinstance()->getWinSize().@H_822_197@height/2)));
splogo->runAction(@H_633_34@moveTo::create(60,Vec2(splogo->getPositionX(),splogo->getPositionY())));
//-------添加按钮
@H_991_4@menuItemFont * itemstart=@H_991_4@menuItemFont::create("开始游戏",
CC_CALLBACK_1(@H_633_34@menuScene::@H_587_115@menuCallBACk,@H_801_30@this)); // 添加按钮,和回调函数
itemstart->setPositionY(-100); //设置位置
itemstart->setColor(@H_822_197@Color3B(0,255,0));//设置颜色
itemstart->setTag(11); //设置编号
@H_991_4@menuItemFont * itemHelp=@H_991_4@menuItemFont::create("游戏帮助",@H_801_30@this));
itemHelp->setColor(@H_822_197@Color3B(0,0));
@H_991_4@menuItemFont * itemabout=@H_991_4@menuItemFont::create("关于",@H_801_30@this));
itemabout->setPositionY(-200);
itemabout->setColor(@H_822_197@Color3B(0,0));
itemabout->setTag(13);
@H_633_34@menu * menu=@H_633_34@menu::create(itemstart,itemHelp,itemabout,@H_801_30@NULL);
@H_801_30@this->addChild(menu);
//-----按钮点击回调函数
@H_801_30@switch (((@H_633_34@menuItemFont*)obj)->getTag()) { //强制转换,获取按钮编号
@H_801_30@case 11:
@H_801_30@auto f=gameScene::createScene(); //创建场景
Director::geTinstance()->replaceScene(f);//使用导演函数实现跳转
}
@H_801_30@break;
@H_801_30@case 12:
@H_801_30@auto f=HelpScene::createScene();
Director::geTinstance()->replaceScene(f);
}
@H_801_30@break;
@H_801_30@case 13:
@H_801_30@auto f=aboutScene::createScene();
Director::geTinstance()->replaceScene(f);
}
@H_801_30@break;
@H_801_30@default:
@H_801_30@break;
}
}
以上是大佬教程为你收集整理的cocos2d中分步实现飞机大战----场景跳转全部内容,希望文章能够帮你解决cocos2d中分步实现飞机大战----场景跳转所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。