游戏开发引擎—Coos2d-x 3.4《雷电大战》01:双层地图无限滚动.docVIP

游戏开发引擎—Coos2d-x 3.4《雷电大战》01:双层地图无限滚动.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
游戏开发引擎—Coos2d-x 3.4《雷电大战》01:双层地图无限滚动

游戏开发引擎—Cocos2d-x 3.4《雷电大战》01:双层地图无限滚动 本文检索关键词:游戏引擎,游戏开发引擎,cocos引擎html5游戏开发 本文要实现飞机射击游戏中的地图无限滚动的功能,这里分为两个层,一个层无限向下滚动,一个层无限向上滚动,这样子结合起来效果就非常有层次感,也非常逼真,这里我把地图层都写成一个类,自己把地图改下,就可以成为你自己的了!下面,我们开始吧。 先来看看效果: 开发环境:Cocos2d-x 3.4版本 工程环境:VS30213 一、实现思路 其实就是两张图片,然后同时一起向下(向上)滚动,当一张图片完全出视野后,就把它调到最上面。形成两个图片交替出现,不过,一般为游戏中我们都感觉像是一张图片,那是因为两张图片的头尾连接处是连起来的。原理我画了些图: 二、代码 1、无限向下滚动BackLayerDown类 头文件: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #ifndef?__BackLayerDown_H__?? #define?__BackLayerDown_H__?? /**? *功能?實現無限地圖向下滾動? *作者?林炳文(lin126.com?博客:/evankaka)? *時間?2015.2.27? */?? #include?cocos2d.h?? #define?MAP_1_Tag???1???????//?宏定义两个Map的Tag???? #define?MAP_2_Tag???2??? class?BackLayerDown?:?public?cocos2d::Layer?? {?? public:?? ????virtual?bool?init();?? ????CREATE_FUNC(BackLayerDown);?? private:?? ????void?update(float?time);?? ????virtual?void?onExit();?? };?? ??? #endif?//?__BackLayerDown_H__ 实现文件: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 #include?BackLayerDown.h?? ??? USING_NS_CC;?? ??? ??? bool?BackLayerDown::init()?? {?? ????? ????if?(?!Layer::init()?)?? ????{?? ????????return?false;?? ????}?? ??????? ????Size?visibleSize?=?Director::getInstance()-getVisibleSize();?? ????Point?origin?=?Director::getInstance()-getVisibleOrigin();?? ??? ????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,?visibleSize.height?+?origin.y?+?map2-getContentSize().height?/?2));?? ????this-addChild(map1,?0,?MAP_1_Tag);?? ????this-addChild(map2,?0,?MAP_2_Tag);?? ????this-scheduleUpdate();?? ??? ??????? ????return?true;?? }?? ??? //移動并判斷背景?? void?BackLayerDown::update(float?time)?? {?? ????Size?visibleSize?=?Director::getInstance()-getVisibleSize();?? ????Po

您可能关注的文档

文档评论(0)

bendaoganqunlia + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档