Board logo

标题: Cocos2D开发教程:Caterpillar游戏的移动和飞弹 [打印本页]

作者: Dianzizd    时间: 2011-12-28 23:00     标题: Cocos2D开发教程:Caterpillar游戏的移动和飞弹

Tut7做了一利用Cocos2D引擎来制作毛虫游戏的个系列教程,并提供了详细的代码。我们节选了其中关于移动和导弹的教程,希望能够为开发者带来帮助。Cocos2D是一个开源2D游戏框架,分别有Python版本和Objective-C版本。其衍生出一个跨平台版本叫做Cocos2D-x。如果你也在用Cocos2D-x开发的话,也可以到CSDN发起的跨平台开发工具调查中,投上一票,或者吐上一槽。


第一步:操控游戏角色
加入以下代码到GameLayer.m的init方法里:
这行代码允许GmaiLayer陈为一个触控代理去接受触控通知。现在,我们家两个方法进去:
让我们对这些代码做一些注释:
第二步:飞弹
为了让角色和其他目标进行互动,游戏角色会以一个恒定的速率发射当前级别的飞弹。我们得先需要几个常数,在GameConfig.h里加上以下代码:
现在创建一个GameObject subclass,命名为Missile,然后把以下代码加到Missile.h里:
其中dirty属性会在将来代表飞散无法使用。可能由于游戏角色越出边界或者和其他游戏物体碰撞。因为飞弹永久失效,需要一阿update方法来做出一个动画效果。
现在往Missile.m里面加入以下代码:
第三步:开火
通常当你有一大票的对象,比如飞弹这种,你绝对不想每次都重新分配。因此我们需要创建两个数组,一个用来hold住所有发出的飞弹(in play),另一个hold住还未发出的飞弹(pool)。最后我们把所有dirty属性的飞弹都放到pool数组里面。
将以下属性添加到GameLayer.h:
然后跳转到update方法,添加以下代码:
最后实现的效果。






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0