本章会把游戏的基本功能结束,前面实现了子弹发射,产生敌人。

  接下来我们要,检测子弹与敌人碰撞,让玩家移动,实现这个游戏的基本功能。

  于是多出了这几个方法,当然还是写在.h文件里

  首先实现触摸监听的方法

  在init方法中注册监听

  此时运行,鼠标单击屏幕后,飞机应该可以动到指定位置了,当然他动的会有些诡异,因为飞机动了,子弹却还是原来的位置地发射,我们在发射子弹的方法内修改两句话,sendBullet方法,修改了原先的坐标,改为获取当前飞机位置的x轴坐标,这样子弹从飞机当前的位置发射

  运行测试,完美,除了飞机移动的速度- -,可以根据距离不同来写个速度进去,我就省下了,不管是多远的距离都按照时间2.0来移动。

  下面来检测子弹与敌机的碰撞,首先我们给子弹精灵和敌机精灵贴上标签,顺便添加到在.h文件里声明的容器里

  修改下删除精灵的方法,让他根据标签来删除对应的精灵

  

  好了检测碰撞,遍历两个数组,取出里面的精灵,打包成矩形,判断两个矩形是否有重叠,重叠既发生了碰撞(boundingBox().intersectRect,这句就是打包),if碰撞,就删除精灵,既从屏幕消失,也从数组中删除

  之后别忘了在init方法添加

  这样程序就会去调用update方法来检测碰撞了,至于多久调一次,我现在也不知道,运行下游戏吧,飞机在移动,子弹在发射,打中后敌人就会消失

  

  刚到陌生的城市,还在面试,抽空再写一章,做完这个小游戏,下一章添加菜单,音效,爆炸效果,流动背景图片,嗯这就完了一个射击demo,再在这之后打算开始RPG游戏。

PS:以上所有论述,仅个人观点,欢迎批评,指正,交流。

转载注明原文地址。

夜色的 cocos2d-x 开发笔记 04的更多相关文章

  1. TERSUS无代码开发(笔记04)-CSS样式设置

    CSS样式设置 1.常用显示样式 大小尺寸 说明  间距边距 说明  各类颜色 说明  width 宽 margin 外边距         color  颜色        height 高 pad ...

  2. 微信小程序开发笔记04

    今天将小程序的页面进行优化 消除昨天遇到的bug问题. 完成了微信小程序的开发.

  3. TERSUS无代码开发(笔记05)-简单实例电脑端页面设计

    案例笔记电脑端页面设计   1.新建项目(请假管理qjgl)   2.开发软件界面介绍(常用的功能按键)      3.目录中显示元件对象      4.对元件对象的操作主要方式是双击(双击哪个元件, ...

  4. TERSUS无代码开发(笔记03)-常用快捷键

    常用快捷键 1.a 普通行为元件调用 2.b 判断输入的值是什么值 3.c 有条件的传值处理 4.e 输出元件 5.f 传值或流程 6.t 输入元件 7.p 调用元件查询 8.x 判断是否有输入值 图 ...

  5. 【Cocos2d-x游戏引擎开发笔记(25)】XML解析

    原创文章,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/9128819 XML是一种非常重要的文件格式,由于C++对XML的支持非常完善 ...

  6. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

  7. PHP开发笔记

    PHP开发笔记 JSON数据的解析 $json_data = isset($_GET['json_data']) ? $_GET['json_data'] : null; $json_data=str ...

  8. Java开发笔记(三十八)利用正则表达式校验字符串

    前面多次提到了正则串.正则表达式,那么正则表达式究竟是符合什么定义的字符串呢?正则表达式是编程语言处理字符串格式的一种逻辑式子,它利用若干保留字符定义了形形色色的匹配规则,从而通过一个式子来覆盖满足了 ...

  9. Java开发笔记(四十)日期与字符串的互相转换

    前面介绍了如何通过Date工具获取各个时间数值,但是用户更喜欢形如“2018-11-24 23:04:18”这种结构清晰.简洁明了的字符串,而非啰里八唆依次汇报每个时间单位及其数值的描述.既然日期时间 ...

随机推荐

  1. centos下yum搭建安装linux+apache+mysql+php环境教程

    我们利用linux系统中yum安装Apache+MySQL+PHP是非常的简单哦,只需要几步就可以完成,具体如下: 一.脚本YUM源安装: 1.yum install wget             ...

  2. Navicat12破解

    Navicat12破解 http://www.sdbeta.com/xiazai/2017/0818/209765.html

  3. BZOJ1725】[Usaco2006 Nov]Corn Fields牧场的安排 状压DP

    Description Farmer John新买了一块长方形的牧场,这块牧场被划分成M列N行(1<=M<=12; 1<=N<=12),每一格都是一块正方形的土地.FJ打算在牧 ...

  4. 华东交通大学2015年ACM“双基”程序设计竞赛1001

    Problem A Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  5. hdu2063 最大二分匹配(匈牙利算法)

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  6. 6.SpringMVC2

    1.视图解析 当客户端发出请求后,交由SpringMVC的DispatcherServlet处理,接着Spring会分析看哪一个HandlerMapping定义的所有请求映射中对该请求的最合理的映射, ...

  7. my19_mysql 多线程备份恢复工具mydumper

    mydumper适合库中有大表且CPU个数较多的场景,多用于恢复从库或单个实例 推荐用法**************************** mydumper -u automng -p root ...

  8. java——并查集 UnionFind

    时间复杂度: O(log*n),近乎是O(1)级别的 UnionFind 接口: public interface UF { int getSize(); boolean isConnected(in ...

  9. 终极版clearFix——支持IE6+

    /*兼容IE6.7*/ /*这段代码非常暴力,from internet,墙裂推荐*/ .clearFix:before,.clearFix:after{ content:""; ...

  10. oracle批量删除表

    select 'DROP TABLE '||TABLE_NAME||';' from user_tables where table_name like ‘%T_%’