Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现

时间:2023-02-06 19:08:00

    最近学习了cocos2dx3.1.1的一些功能,觉得和以前版本改的太多了。所以就做了一个小项目--打飞机来练习练习,在这里我只讲飞机实现的步骤,至于代码,回复5次即可获得coco2d-x3.1.1的源代码地址下载。(5次之后如若不行,留下信箱,我当亲自发给您!!)

打飞机的视频::http://v.youku.com/v_show/id_XNzU2NjcwNTMy.html

    (1)我们一步步来,先整理好整个项目的框架,还有逻辑。下面开始介绍,我们首先要写一个开始界面,即进入游戏的界面。

           Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现                               Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现  Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现

   (2)我们初始化了一些数据,精灵,设置滚动的背景,当然,我们需要一步步来实现,得想好逻辑,这个功能实现了,然后接下去该实现什么,然后直到完善。。。。

   (3)接下来我们要让我们的飞机跟随我们的手指移动,简单点,我们就用layer的触摸事件来实现,设置setTouchEnabled为true就可以了,

   (4)我们增加发射子弹的功能,因为子弹是自动发射的,不需要通过发射按钮来发射子弹,所以这时候,你可以考虑就只创建一颗子弹精灵来实现。

   (5)我们创建子弹,设置子弹的速度,开火,超出屏幕时,我们重置子弹的位置。

               Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现          Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现

   (6)飞机可以移动,并且可以发射子弹,那么现在,我们需要加入敌人的飞机。

   (7)然后我们需要制造这个敌人的飞机,有各种类型的,(大型,中性,小型)。

              Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现          Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现

   (8)接下来,我们要考虑碰撞检测了,我的飞机子弹打出来,让打中敌人的飞机,并且显示相应的分数。这里碰撞检测,我们要知道,什么跟什么碰撞了,这里很简单,飞机的子弹跟敌人的飞机有个碰撞,敌人的飞机跟我的飞机有个碰撞。

   (9)我们定义了一个碰撞检测的函数collisionDetection,通过intersectsRect函数来判断子弹的矩形区域是否在敌人飞机的矩形区域内,打一下少一滴血,当血小于等于0时,就触发我们的飞机爆炸效果,并且移除死亡的飞机,设置分数显示,否则打击的时候,有打击动画。

                   Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现      Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现

   (10)把剩下的功能完成,首先,我们加入换子弹或是炸弹的功能,它的原理大体是这样的,设置物品出现的时间间隔,会随机出现物品的种类,然后判断物品跟飞机所在区域,碰撞检测,在一起就算是吃到这个物品了就OK。

   (11)我们定义了一个换物品的类,设置它的物品种类,威力更强的子弹和炸弹,并且构造一个物品出现动画的函数,这个动画函数很简单,都是CCMove构成。


本人cocos2dx 2.x和3.x的源码淘宝地址(欢迎大家光顾):https://shop141567464.taobao.com/?spm=a313o.7775905.1998679131.d0011.aYDdAj

不懂的可以加我的QQ群: 239982941(cocos2d-x 3.1.1学习群

   Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现                       Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现