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

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

  于是多出了这几个方法,当然还是写在.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. POJ1058 The Gourmet Club

    题目来源:http://poj.org/problem?id=1058 题目大意:ACM城的美食俱乐部有16位成员.他们连续了当地的法国餐厅Chatrau Java来安排连续5天的晚餐.晚餐时他们每4 ...

  2. 在基于AngularJs架构的ABP项目中使用UEditor

    [前提须知] 读过此篇博客 了解angular-ueditor 了解ABP如何使用 会使用VS2017 [1.下载ABP模板] https://aspnetboilerplate.com/Templa ...

  3. Java线程同步之静态方法

    静态方法是同步方法:自动加锁,锁的对象是类对象 public static void main(String[] args) { Thread [] threadArr=new Thread[10]; ...

  4. 工具类_SharedPreferencesUtils

    import android.app.Application;import android.content.Context;import android.content.SharedPreferenc ...

  5. /etc目录下重要的目录和文件

    牢记: 1.*/etc/sysconfig/network-scripts/ifcfg-eth0  网卡的配置信息 重启网卡:1)/etc/init.d/network restart(所有网卡)   ...

  6. 23-----BBS论坛

    BBS论坛(二十三) 23.添加板块 (1)apps/models class BoardModel(db.Model): __tablename__ = 'board' id = db.Column ...

  7. 查看linux系统各种参数配置的命令

    查看linux系统各种参数配置的命令 last |grep shutdown                             //查看上次关机时间 last |grep reboot     ...

  8. CSS3 中 图标编码 icon——Font-Awesome

    在做网页开发中经常会用到图标,原来经常会到一些icon网站上找导入到项目中,现在Font-Awesome中的有很多的图标,并且还在不断更新 现在Font-Awesome最新版本是4.7,下载出来的Fo ...

  9. Android NDK开发 图片处理(五)

    做过Java的同学可能经常会遇到一些关于图片处理的 例如类似QQ离线头像显示灰的.最快的算法是用colorMatrix来实现.这里通过Java调用JNI来处理每一个像素来实现. 对每一个像素点取出RG ...

  10. UGUI 用脚本动态改变Button颜色组合

    public Button button; void Start() { ColorBlock cb = new ColorBlock(); cb.normalColor = Color.red; c ...