小小菜之Cocos2d-x游戏开发旅程——项目实例:飞机大战(1)
2015-09-11 19:45
621 查看
1.场景跳转及菜单场景
今天,给大家讲解一下一款纵版射击类游戏——飞机大战。
首先,我们来新建一个项目,如何新建项目呢?大家应该都会吧
cocos new -p com.game.plane -d ~/Desktop -l cpp PlaneGame
项目创建好了之后,打开项目文件下
proj.ios_mac文件->PlaneGame.xcodeproj。打开项目,在Xcode中点击左上角播放按钮开始编译,编译时间稍长,我们利用这里时间讲解一下飞机大战的需求。
这款游戏有四个场景,菜单场景,游戏场景,帮助场景和游戏关于场景。
菜单场景为主界面,有3个菜单条目,分别是 开始游戏,游戏帮助,游戏关于。分别跳转到不同的场景
游戏场景,我们的游戏逻辑全部在游戏场景中编写。首先有一架玩家控制的飞机,向上飞;可以发射子弹,子弹向上飞。从上方会掉落敌机。需要打掉敌机。
帮助场景,对飞机大战游戏的玩法作介绍
关于场景,显示开发者的信息
首先,我们中菜单场景MenuScene中添加一个背景
然后在屏幕上添加菜单,具有3个菜单条目,start,help ,about分别跳转到3个场景
接下我们需要对菜单条目进行回调函数的实现
先新建3个场景 GameScene , HelpScene , AboutScene
接下来是菜单的回调函数
这样就可以从主菜单往各个场景跳转了
未完待续。。。。
—————–9秒学院学习日志
今天,给大家讲解一下一款纵版射击类游戏——飞机大战。
首先,我们来新建一个项目,如何新建项目呢?大家应该都会吧
cocos new -p com.game.plane -d ~/Desktop -l cpp PlaneGame
项目创建好了之后,打开项目文件下
proj.ios_mac文件->PlaneGame.xcodeproj。打开项目,在Xcode中点击左上角播放按钮开始编译,编译时间稍长,我们利用这里时间讲解一下飞机大战的需求。
这款游戏有四个场景,菜单场景,游戏场景,帮助场景和游戏关于场景。
菜单场景为主界面,有3个菜单条目,分别是 开始游戏,游戏帮助,游戏关于。分别跳转到不同的场景
游戏场景,我们的游戏逻辑全部在游戏场景中编写。首先有一架玩家控制的飞机,向上飞;可以发射子弹,子弹向上飞。从上方会掉落敌机。需要打掉敌机。
帮助场景,对飞机大战游戏的玩法作介绍
关于场景,显示开发者的信息
首先,我们中菜单场景MenuScene中添加一个背景
auto sprite = Sprite::create("menu.png"); sprite->setPosition(Vec2::ZERO); sprite->setAnchorPoint(Vec2::ZERO); this->addChild(sprite, 0);
然后在屏幕上添加菜单,具有3个菜单条目,start,help ,about分别跳转到3个场景
//添加菜单条目 auto start = MenuItemFont::create("start" , CC_CALLBACK_1(HelloWorld::menuCloseCallback, this)); auto help = MenuItemFont::create("help" , CC_CALLBACK_1(HelloWorld::menuCloseCallback, this)); auto about = MenuItemFont::create("about" , CC_CALLBACK_1(HelloWorld::menuCloseCallback, this)); //设置菜单的坐标 start->setPosition(visibleSize.width/2 , visibleSize.height/2); help->setPosition(visibleSize.width/2 , visibleSize.height/2 - 100); about->setPosition(visibleSize.width/2 , visibleSize.height/2 - 200); start->setColor(Color3B::BLACK); help->setColor(Color3B::BLACK); about->setColor(Color3B::BLACK); start->setTag(TAG_START); help->setTag(TAG_HELP); about->setTag(TAG_ABOUT); auto menu = Menu::create(start , help , about, NULL); menu->setPosition(Vec2::ZERO); this->addChild(menu, 1);
接下我们需要对菜单条目进行回调函数的实现
先新建3个场景 GameScene , HelpScene , AboutScene
接下来是菜单的回调函数
void HelloWorld::menuCloseCallback(Ref* pSender) { auto nowMenu = (MenuItemFont*)pSender; switch (nowMenu->getTag()) { case TAG_START: { auto s = Game::createScene(); Director::getInstance()->replaceScene(s); } break; case TAG_HELP: { auto s = Help::createScene(); Director::getInstance()->replaceScene(s); } break; case TAG_ABOUT: { auto s = About::createScene(); Director::getInstance()->replaceScene(s); } break; default: break; } }
这样就可以从主菜单往各个场景跳转了
未完待续。。。。
—————–9秒学院学习日志
相关文章推荐
- cocos2d-x 3.2 物理小游戏教程1 block it需求分析
- Cocos2dx 3.0 过渡篇(二十六)C++11多线程std::thread的简单使用
- CocosPod导入FFmpeg本地库的经历
- Cocos2d-x 在Eclipse中遇到Method 'XXX' could not be resolved问题修改
- 90后游戏开发者cocos经验谈——如何入行、如何进步
- Cocos2dx-jsb 3.x 精灵构建过程浅析(2):
- Cocos2d-x CCMenuItemSprite按钮图片旋转问题
- Cocos2dx-jsb 3.x 精灵构建过程浅析:
- Window 7(64位)配置Cocos2d-x-3.6环境,windows764配置
- win7下cocos2dx开发环境搭建
- Cocos2d-x 浅谈Lua与C++函数间互相调用问题
- 重大喜讯!CocoStudio终于支持导出LUA文件了!
- CocoStudio导出的LUA文件怎么使用?
- Cocos如何绑定lua自定义类
- [ios]cocos2dx获取设备的当前预言
- cocos植物大战僵尸(五)选择植物卡片:待选择植物卡片管理器类
- Cocos2dx — (二) 笔记
- Cocos2d-x3.0 RenderTexture(一) 保存
- cocos2d 从v1.x升级到v2.x需要注意的几个地方
- cocos2d 从v1.x升级到v2.x需要注意的几个地方