欢迎来到天天文库
浏览记录
ID:16510011
大小:1.06 MB
页数:92页
时间:2018-08-10
《游戏开发引擎—cocos引擎 《雷电大战》开发教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、目录第一节:游戏开发引擎—Cocos2d-x3.4《雷电大战》01:双层地图无限滚动第二节:游戏开发引擎Cocos2d-x3.4《雷电大战》02:精灵随手指移动,你点哪我走哪!第三节:游戏开发引擎—Cocos2d-x3.4《雷电大战》03:子弹无限发射第四节:游戏开发引擎Cocos2d-x3.4《雷电大战》04:策略模式实现不同子弹切换游戏开发引擎—Cocos2d-x3.4《雷电大战》01:双层地图无限滚动本文检索关键词:游戏引擎,游戏开发引擎,cocos引擎html5游戏开发本文要实现飞机射击游戏中的地图无限滚动的功能,
2、这里分为两个层,一个层无限向下滚动,一个层无限向上滚动,这样子结合起来效果就非常有层次感,也非常逼真,这里我把地图层都写成一个类,自己把地图改下,就可以成为你自己的了!下面,我们开始吧。先来看看效果:开发环境:Cocos2d-x3.4版本工程环境:VS30213一、游戏开发引擎—实现思路其实就是两张图片,然后同时一起向下(向上)滚动,当一张图片完全出视野后,就把它调到最上面。形成两个图片交替出现,不过,一般为游戏中我们都感觉像是一张图片,那是因为两张图片的头尾连接处是连起来的。原理我画了些图:二、游戏开发引擎—代码1、无限
3、向下滚动BackLayerDown类头文件:12345678910111213#ifndef __BackLayerDown_H__ #define __BackLayerDown_H__ /** *功能 實現無限地圖向下滾動 *作者 林炳文 *時間 2015.2.27 */ #include "cocos2d.h" #define MAP_1_Tag 1 // 宏定义两个Map的Tag #define MAP_2_Tag 2 class BackLayerDown : public
4、cocos2d::Layer { public: virtual bool init(); CREATE_FUNC(BackLayerDown); private: void update(float time); 1415161718192021 virtual void onExit(); }; #endif // __BackLayerDown_H__实现文件:123#include "BackLayerDown.h" USING_NS_CC; 4567
5、891011121314151617 bool BackLayerDown::init() { if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Point origin = Director::getInstance()->getVisibleOrigin();
6、 Sprite* map1 = Sprite::create("back3_1.png"); Sprite* map2 = Sprite::create("back3_2.png"); map1->setPosition(Vec2(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y)); map2->setPosition(Vec2(visibleSize.width / 2 + origin.x,
7、visibleSize.height + origin.y + map2->getContentSize().height / 2)); this->addChild(map1, 0, MAP_1_Tag); this->addChild(map2, 0, MAP_2_Tag); this->scheduleUpdate(); 1819202122232425262728 return true; } //移動并判斷背景 void BackLayerDo
8、wn::update(float time) { Size visibleSize = Director::getInstance()->getVisibleSize(); Point origin = Director::getInstance()->getVisibleOrig
此文档下载收益归作者所有