近期学习了cocos2dx3.1.1的一些功能,认为和曾经版本号改的太多了。

所以就做了一个小项目--打飞机来练习练习,在这里我仅仅讲飞机实现的步骤,至于代码。回复5次就可以获得coco2d-x3.1.1的源码地址下载。(5次之后如若不行。留下信箱,我当亲自发给您!

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

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

                               

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3hxX3d1eGluZ3F1YW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">  

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

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

(4)我们添加发射子弹的功能,由于子弹是自己主动发射的,不须要通过发射button来发射子弹。所以这时候,你能够考虑就仅仅创建一颗子弹精灵来实现。

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3hxX3d1eGluZ3F1YW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
         

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3hxX3d1eGluZ3F1YW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

(6)飞机能够移动,而且能够发射子弹,那么如今,我们须要增加敌人的飞机。

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3hxX3d1eGluZ3F1YW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">          

(8)接下来。我们要考虑碰撞检測了,我的飞机子弹打出来,让打中敌人的飞机,而且显示对应的分数。这里碰撞检測。我们要知道。什么跟什么碰撞了。这里非常easy,飞机的子弹跟敌人的飞机有个碰撞,敌人的飞机跟我的飞机有个碰撞。

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3hxX3d1eGluZ3F1YW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">      

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

(11)我们定义了一个换物品的类,设置它的物品种类,威力更强的子弹和炸弹。而且构造一个物品出现动画的函数。这个动画函数非常easy。都是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打飞机的实现的更多相关文章

  1. GRE学习日志

    发现开博客园真的很有督促作用,今天也顺便开个GRE学习日志吧 2015-02-09:单词 2015-02-10:单词 2015-02-11:单词 2015-03-02:阅读 2015-03-04:阅读 ...

  2. Cortex-M3学习日志(六) -- ADC实验

    上一次简单的总结了一下DAC方面的知识,好吧,这次再来总结一下ADC方面的东东.ADC即Analog-to-Digital Converter的缩写,指模/数转换器或者模拟/数字转换器.现实世界是由模 ...

  3. Cortex-M3学习日志(五) -- DAC实验

    终于逮了个忙里偷闲的机会,就再学一下LPC1768的外围功能吧,循序渐进是学习的基本规则,也许LPC1768的DAC与8位单片机16位单片机里面集成的DAC操作类似,但是既然这是懒猫的学习日志,就顺便 ...

  4. webpack2学习日志

    webpack说容易也容易,说难也难,主要还是看个人,想学到什么样的程度,很多公司可能要求仅仅是会用就行,但是也有一些公司要求比较高,要懂一些底层的原理,所以还是要花一些时间的,看个人需求.这篇仅仅是 ...

  5. javascript学习日志:前言

    javascript学习日志系列的所有博客,主要理论依据是<javascript权威指南>(犀牛书第6版)以及<javascript高级程序设计第三版>(红色书),目前js行业 ...

  6. MobileForm控件的使用方式-用.NET(C#)开发APP的学习日志

    今天继续Smobiler开发APP的学习日志,这次是做一个title.toolbar.侧边栏三种效果 样式一 一.          Toolbar 1.       目标样式 我们要实现上图中的效果 ...

  7. 我的游戏学习日志3——三国志GBA

    我的游戏学习日志3——三国志GBA 三国志GBA由日本光荣公司1991~1995所推出<三国志>系列游戏,该作是光荣在GBA上推出的<三国志>系列作品的第一款.本游戏登场武将总 ...

  8. 【转】Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性

    [转]Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性 Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性

  9. composer的安装和使用 学习日志

    如果你做为一个phper,没有用过composer,那你真的不是一个合格的开发者.那么就来记录一下composer的学习日志 下面分享几个学习源头: composer中文网站:https://www. ...

  10. Python学习日志9月13日

    昨天的学习日志没有写,乱忙了一整天,政治电脑. 好奇心重,想要给电脑装上传说中LInux操作系统,各种小问题折腾到半夜,今天又折腾到晚上才真正的装上系统. 可是装上系统后又发现各种的不好用.虽然界面比 ...

随机推荐

  1. 缓存淘汰算法之LRU实现

    Java中最简单的LRU算法实现,就是利用 LinkedHashMap,覆写其中的removeEldestEntry(Map.Entry)方法即可 如果你去看LinkedHashMap的源码可知,LR ...

  2. 九度oj 题目1456:胜利大逃亡

    题目描述: Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会.魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius ...

  3. JDBC 学习笔记(一)—— JDBC 基础

    1. 什么是 JDBC JDBC,Java Database Connectivity(Java 数据库连接),是一组执行 SQL 语句的 Java API. JDBC,是 Java SE(Java ...

  4. hihoCoder #1656 前后缀查询

    题目大意 给定 $n$($n\le 50000$) 个由小写英文字母构成的字符串,每个串的长度不超过 10,每个串有一个权值 $v$ ($1\le v\le 100000$). 回答 $m$($m\l ...

  5. jquery工具方法总结

    $.extend 对象合并,支持深拷贝 $.each 相当于array.each或object.each,可以遍历数组和对象 $.grep 相当于array.filter $.map 相当于array ...

  6. python 粘包问题及解决方法

    一粘包 TCP协议是面向对象的,面向流的,提高可靠性服务.使用了优化算法,Nagle算法.将多次间隔较少且数据量小的数据,合并成一个大的数据块,然后进行封包.这样接收端就很难分辨出来.TCP协议数据是 ...

  7. serializeObject 的应用

    function sendForm() { var invOrderModelWrapper = {}; // 头 var objHeader = $('#invOrderForm').seriali ...

  8. ExcelHelper类

    /// <summary> /// ExcelHelper类 /// </summary> using System; using System.IO; using Syste ...

  9. DOM节点太多导致页面卡顿的优化方法

    http://developer.51cto.com/art/201504/473422.htm

  10. 客户端负载均衡Ribbon之源码解析

    什么是负载均衡器? 假设有一个分布式系统,该系统由在不同计算机上运行的许多服务组成.但是,当用户数量很大时,通常会为服务创建多个副本.每个副本都在另一台计算机上运行.此时,出现 "Load ...