位置: 编程技术 - 正文
推荐整理分享[置顶] Cocos2d-x《雷电大战》(3)-子弹无限发射([置顶] clauvio,Twitter小老鼠),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:[置顶] 纯享版奥义,手机迅雷搜:阿天动漫,[置顶] cmbwfh,[置顶] 此外,车牌号:458143(懂得都懂[吃瓜]),[置顶] 此外,车牌号:454118(懂得都懂[doge]),[置顶] 纯享版奥义,手机迅雷搜:阿天动漫,[置顶] cmbwfh,[置顶] clauvio,Twitter小老鼠,[置顶] chill your life,内容如对您有帮助,希望把文章链接给更多的朋友!
林炳文Evankaka原创作品。转载请注明出处 本文要实现雷电游戏中,游戏一开始,英雄飞机就无限发射子弹的功能。这里的思想是单独给子弹弄一个层,在这个层不设置一个定时器,每隔一个时间,根据当前英雄飞机传入的位置,生成子弹,并设置子弹的移动事件,和移动后的事件(就是把子弹删除掉,节省内存)。
最终效果:
Cocos2d-x版本:3.4
工程环境:VS
一、英雄子弹层1、HeroBulletLayer.h
2、HeroBulletLayer.cpp
注意:1、
这里用了把子弹的图片加入到缓存中的方法,然后需要创建子弹时候调用如果不这样做的话,游戏会很耗内存,就会很卡!2、这里重写了create方法,让它带一个参数,用它来传入英雄飞机
二、使用方法效果:
要注意mHeroPlane是上一讲中跟随手指移动的英雄飞机,看这里Cocos2d-x《雷电大战》(2)-精灵随手指移动,你点哪我走哪!
三、思路说明1、上面的英雄子弹类很好用,你只要传入一个英雄飞机的位置,它就会生成英雄子弹层不断调用定时器生成子弹,同时加入到当前层中和Vector中(用来保存所有的子弹)
2、 根据当前英雄飞机的位置,计算子弹移动的距离,然后速度是自己设定的,就可以计算子弹要移动的直线距离的时间。
3、 当子弹移动到视野外后,就删除掉这个子弹,vector中也要删除。
4、GetBullet();是用来得到当前的vector子弹集合,然后我们需要一个一个的取出来,判断是否和敌机相撞,如果是,就调用removeBullet(Node* pNode);就是这样了。比如:
效果如下:这里要注意下vector的遍历用法,不能[],cocos2dx没有重载这个,要用at.这里只是示例了下怎么用,子弹碰到飞机后就把它删除掉,敌机还没有做处理
林炳文Evankaka原创作品。转载请注明出处
基于cocoStudio和BMfont的艺术字体制作 我们在制作游戏的过程中经常要使用各式各样的艺术字体,这些字体让我们的游戏看起来更加美观更加的萌(--!)但是很多的新手都不知道这些字体是
Cocos2d-x动画工具类 1.此工具类的目的是为了方便执行动画,使用TexturePackerGUI工具可以导出plist文件和png图片,这里我示例图片叫bxjg.plist和bxjg.png////////////////////////////////////
cocos2d-x与ios内存管理分析(在游戏中减少内存压力) 原文地址:
友情链接: 武汉网站建设