cocos2d中分步实现飞机大战----场景跳转

cocos2d中分步实现飞机大战----场景跳转,第1张

概述首先,作为一个完整的游戏项目,要有满足游戏要求的界面,并实现之间的跳转,不能只有一个游戏主界面。 下面以主场景界面为例: .h文件 #include "cocos2d.h" USING_NS_CC; class menuScene:public Layer{ public:     static Scene * createScene();    //创建场景     CREATE_FUNC(me

首先,作为一个完整的游戏项目,要有满足游戏要求的界面,并实现之间的跳转,不能只有一个游戏主界面。

下面以主场景界面为例:

.h文件

#include "cocos2d.h"

USING_NS_CC;


class menuScene:public Layer{

public:

static Scene * createScene(); //创建场景

CREATE_FUNC(menuScene);

bool init();

voID menuCallBack(Ref * obj); //按钮回调函数

};

.CCP文件

#include "menuScene.h"

#include "gameScene.h" //---引用要跳转的的场景

#include "helpScene.h"

#include "aboutScene.h"


Scene * menuScene::createScene(){

auto scene=Scene::create();

scene->addChild(menuScene::create());

return scene;

}

bool menuScene::init(){

if (!Layer::init()) {

return false;

}

//-------添加背景图

auto sp=Sprite::create("img_bg_logo.jpg");

this->addChild(sp);

sp->setposition(Director::getInstance()->getWinSize().wIDth/2,

Director::getInstance()->getWinSize().height/2 );

auto splogo=Sprite::create("logo.png");

//-------添加logo

this->addChild(splogo);

splogo->setposition(Director::getInstance()->getWinSize().wIDth/2,-200);

splogo->runAction(Moveto::create(1,Vec2(Director::getInstance()->getWinSize(). wIDth/2,Director::getInstance()->getWinSize().height/2)));

splogo->runAction(Moveto::create(60,Vec2(splogo->getpositionX(),splogo->getpositionY())));

//-------添加按钮

MenuItemFont * itemstart=MenuItemFont::create("开始游戏",

CC_CALLBACK_1(menuScene::menuCallBack,this)); // 添加按钮,和回调函数

itemstart->setpositionY(-100); //设置位置

itemstart->setcolor(color3B(0,255,0));//设置颜色

itemstart->setTag(11); //设置编号

MenuItemFont * itemhelp=MenuItemFont::create("游戏帮助",this));

itemhelp->setpositionY(-150);

itemhelp->setcolor(color3B(0,0));

itemhelp->setTag(12);

MenuItemFont * itemabout=MenuItemFont::create("关于",this));

itemabout->setpositionY(-200);

itemabout->setcolor(color3B(0,0));

itemabout->setTag(13);

Menu * menu=Menu::create(itemstart,itemhelp,itemabout,NulL);

this->addChild(menu);

//-----按钮点击回调函数

switch (((MenuItemFont*)obj)->getTag()) { //强制转换,获取按钮编号

case 11:

{

auto f=gameScene::createScene(); //创建场景

Director::getInstance()->replaceScene(f);//使用导演函数实现跳转

}

break;

case 12:

{

auto f=helpScene::createScene();

Director::getInstance()->replaceScene(f);

}

break;

case 13:

{

auto f=aboutScene::createScene();

Director::getInstance()->replaceScene(f);

}

break;

default:

break;

}

}


同理创建,gameScene,helpScene,aboutScene。 总结

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1045330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存