游戏开发引擎—cocos引擎 《雷电大战》开发教程

游戏开发引擎—cocos引擎 《雷电大战》开发教程

ID:16510011

大小:1.06 MB

页数:92页

时间:2018-08-10

游戏开发引擎—cocos引擎 《雷电大战》开发教程_第1页
游戏开发引擎—cocos引擎 《雷电大战》开发教程_第2页
游戏开发引擎—cocos引擎 《雷电大战》开发教程_第3页
游戏开发引擎—cocos引擎 《雷电大战》开发教程_第4页
游戏开发引擎—cocos引擎 《雷电大战》开发教程_第5页
资源描述:

《游戏开发引擎—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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。