Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现
近期学习了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打飞机的实现的更多相关文章
- GRE学习日志
发现开博客园真的很有督促作用,今天也顺便开个GRE学习日志吧 2015-02-09:单词 2015-02-10:单词 2015-02-11:单词 2015-03-02:阅读 2015-03-04:阅读 ...
- Cortex-M3学习日志(六) -- ADC实验
上一次简单的总结了一下DAC方面的知识,好吧,这次再来总结一下ADC方面的东东.ADC即Analog-to-Digital Converter的缩写,指模/数转换器或者模拟/数字转换器.现实世界是由模 ...
- Cortex-M3学习日志(五) -- DAC实验
终于逮了个忙里偷闲的机会,就再学一下LPC1768的外围功能吧,循序渐进是学习的基本规则,也许LPC1768的DAC与8位单片机16位单片机里面集成的DAC操作类似,但是既然这是懒猫的学习日志,就顺便 ...
- webpack2学习日志
webpack说容易也容易,说难也难,主要还是看个人,想学到什么样的程度,很多公司可能要求仅仅是会用就行,但是也有一些公司要求比较高,要懂一些底层的原理,所以还是要花一些时间的,看个人需求.这篇仅仅是 ...
- javascript学习日志:前言
javascript学习日志系列的所有博客,主要理论依据是<javascript权威指南>(犀牛书第6版)以及<javascript高级程序设计第三版>(红色书),目前js行业 ...
- MobileForm控件的使用方式-用.NET(C#)开发APP的学习日志
今天继续Smobiler开发APP的学习日志,这次是做一个title.toolbar.侧边栏三种效果 样式一 一. Toolbar 1. 目标样式 我们要实现上图中的效果 ...
- 我的游戏学习日志3——三国志GBA
我的游戏学习日志3——三国志GBA 三国志GBA由日本光荣公司1991~1995所推出<三国志>系列游戏,该作是光荣在GBA上推出的<三国志>系列作品的第一款.本游戏登场武将总 ...
- 【转】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新特性
- composer的安装和使用 学习日志
如果你做为一个phper,没有用过composer,那你真的不是一个合格的开发者.那么就来记录一下composer的学习日志 下面分享几个学习源头: composer中文网站:https://www. ...
- Python学习日志9月13日
昨天的学习日志没有写,乱忙了一整天,政治电脑. 好奇心重,想要给电脑装上传说中LInux操作系统,各种小问题折腾到半夜,今天又折腾到晚上才真正的装上系统. 可是装上系统后又发现各种的不好用.虽然界面比 ...
随机推荐
- 缓存淘汰算法之LRU实现
Java中最简单的LRU算法实现,就是利用 LinkedHashMap,覆写其中的removeEldestEntry(Map.Entry)方法即可 如果你去看LinkedHashMap的源码可知,LR ...
- 九度oj 题目1456:胜利大逃亡
题目描述: Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会.魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius ...
- JDBC 学习笔记(一)—— JDBC 基础
1. 什么是 JDBC JDBC,Java Database Connectivity(Java 数据库连接),是一组执行 SQL 语句的 Java API. JDBC,是 Java SE(Java ...
- hihoCoder #1656 前后缀查询
题目大意 给定 $n$($n\le 50000$) 个由小写英文字母构成的字符串,每个串的长度不超过 10,每个串有一个权值 $v$ ($1\le v\le 100000$). 回答 $m$($m\l ...
- jquery工具方法总结
$.extend 对象合并,支持深拷贝 $.each 相当于array.each或object.each,可以遍历数组和对象 $.grep 相当于array.filter $.map 相当于array ...
- python 粘包问题及解决方法
一粘包 TCP协议是面向对象的,面向流的,提高可靠性服务.使用了优化算法,Nagle算法.将多次间隔较少且数据量小的数据,合并成一个大的数据块,然后进行封包.这样接收端就很难分辨出来.TCP协议数据是 ...
- serializeObject 的应用
function sendForm() { var invOrderModelWrapper = {}; // 头 var objHeader = $('#invOrderForm').seriali ...
- ExcelHelper类
/// <summary> /// ExcelHelper类 /// </summary> using System; using System.IO; using Syste ...
- DOM节点太多导致页面卡顿的优化方法
http://developer.51cto.com/art/201504/473422.htm
- 客户端负载均衡Ribbon之源码解析
什么是负载均衡器? 假设有一个分布式系统,该系统由在不同计算机上运行的许多服务组成.但是,当用户数量很大时,通常会为服务创建多个副本.每个副本都在另一台计算机上运行.此时,出现 "Load ...