位置: 编程技术 - 正文

cocos2d-x游戏实例(17)-纵版射击游戏(4)(cocos做游戏)

编辑:rootadmin

推荐整理分享cocos2d-x游戏实例(17)-纵版射击游戏(4)(cocos做游戏),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2dx小游戏,cocos2d游戏引擎,cocos2dx游戏开发教程,cocos2d rpg,cocos2d rpg,cocos2dx游戏案例,cocos2d开发的知名游戏,cocos2dx游戏案例,内容如对您有帮助,希望把文章链接给更多的朋友!

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址

子弹是射击游戏中很重要的一部分,我们需要创建子弹,控制子弹并监控子弹的不同状态,而且子弹不是一个单独的实体,我们把子弹放入一个数组中方便管理,我们新建一个CCArray * bullets;来管理数组。首先初始化数组,记住,在初始化后要retain。

当然首先要创建GameBullet,它继承于GameSprite,首先来看GameBullet的类的定义:

和之前的GamePlayer和GameEnemy定义没有什么不同,和GameEnemy一样,也需要在tick里写自己逻辑,逻辑很简单就是移动:

后面就需要实现发子弹的逻辑,最近玩了一个GalaxyLaser的纵版射击游戏,我就使用里面的发子弹逻辑,就是当你控制主角时,也就是说你的手指在主角的矩形范围内时,主角就会隔一段时间发出子弹,实现这个我们需要修改以下两个函数:

virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);

cocos2d-x游戏实例(17)-纵版射击游戏(4)(cocos做游戏)

virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);

首先看ccTouchesBegan的修改:

和之前不同的是,我们使用schdule挂上resettouch,每1s调用一次resettouch。resettouch就是生成子弹的函数:

就是遍历子弹数组,如果设置为不显示的子弹,我们就可以使用,getIsVisible获得子弹是否被显示(我们会把出屏幕的和,碰上敌人的子弹变成不显示),这样我们就生成了新的子弹,下面来看ccTouchesEnded:

清掉参数的同时,对resettouch做unschedule处理

如有错误之处,希望大家多多指正

下一篇继续纵版射击游戏实例

cocos2d-x游戏实例()-纵版射击游戏(5) 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

cocos2d-x游戏实例()-纵版射击游戏(6) 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

cocos2d-x游戏实例()-纵版射击游戏(7) 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

本文链接地址:https://www.jiuchutong.com/biancheng/369009.html 转载请保留说明!

上一篇:cocos2d-x游戏实例(15)-纵版射击游戏(2)(cocos做游戏)

下一篇:cocos2d-x游戏实例(18)-纵版射击游戏(5)(cocos2d游戏引擎)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络