cocos2d-x游戏实例(22)-纵版射击游戏(9)

前端之家收集整理的这篇文章主要介绍了cocos2d-x游戏实例(22)-纵版射击游戏(9)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man

继续上一篇的纵版射击游戏,本篇加入几个敌人的类型,效果如下:


我加入5种类型的敌人,分别为对称的贝塞尔曲线(两条运动轨迹对称),对称的折线(两条运动轨迹对称),直线。首先我们用随机数来决定这次出的敌人的类型,代码如下:

type=CCRANDOM_0_1()*5;

CCRANDOM_0_1()是引擎为我们实现的一个方法,是返回的01随机数,我们把这个随机数乘以一个5生成的这个数是04的自然数,对应我们不同的五个类型。

前两个类型是我们之前的贝塞尔曲线的运动轨迹,代码如下:

bezierTo1=CCBezierTo::actionWithDuration(5,bezier1);

mysprite->runAction(bezierTo1);

不同之处就是第一句话中的第二个参数分别是bezier1和bezier2,他们的定义在构造函数里面,代码如下:


就是控制点的对称的点。然后是两个折现,他们是对称的,代码如下:

路径3

actionTo1=CCMoveTo::actionWithDuration(2,CCPointMake(30,300));

actionTo2=CCMoveTo::actionWithDuration(2,CCPointMake(214,150));

actionTo3=CCMoveTo::actionWithDuration(1,CCPointMake(122,-20));

mysprite->runAction(CCSequence::actions(actionTo1,actionTo2,actionTo3,NULL));

路径4

就是对称的两条折线。最后一个敌人类型就是一直直线的轨迹运动,代码如下:

actionTo1=CCMoveTo::actionWithDuration(5,85); font-family:'microsoft yahei'; font-size:15px; line-height:35px"> mysprite->runAction(actionTo1);

然后我们通过initWithFile方法为敌人更换不同的图片,这样我们这个选择类型的函数就完成了:


这个函数chooseflytype在我们初始化敌人和在每次更换敌人时调用这个函数

到此为止,这个实例就暂时结束了,后面还会写其它的实例,其实这个实例可以再进行修改一下,包括细化ui细化敌人,包括加入敌人的编队等,我这里只是对用cocos2d-x实现纵版射击游戏做一个简单的介绍,算是抛砖引玉吧,这里也把代码上传代码地址为:

http://download.csdn.net/detail/bill_man/4195629

另外感谢大家的支持代码编写的时间仓促,也没什么时间重构优化,有错误和不足之处还要麻烦大家帮助我指出,谢谢大家

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

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

猜你在找的Cocos2d-x相关文章