Cocos2d-x   发布时间:2022-05-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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@bool init();

@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");

@H_801_30@this->addChild(sp);

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->setPositionY(-150);

itemHelp->setColor(@H_822_197@Color3B(0,0));

itemHelp->setTag(12);

@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;

}

}


同理创建,gameScene,HelpScene,aboutScene。

大佬总结

以上是大佬教程为你收集整理的cocos2d中分步实现飞机大战----场景跳转全部内容,希望文章能够帮你解决cocos2d中分步实现飞机大战----场景跳转所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。