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

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

  于是多出了这几个方法,当然还是写在.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. 数据结构1:数据结构与算法C语言版分析概述

    本节开始将带领大家系统地学习数据结构,作为一门计算机专业大二学生的必修课程,该课程面对的目标人群为初步具备基本编程能力和编程思想的程序员(大一接触了 C 语言或者 C++).通过系统地学习数据结构,可 ...

  2. kuangbin专题十六 KMP&&扩展KMP HDU4300 Clairewd’s message

    Clairewd is a member of FBI. After several years concealing in BUPT, she intercepted some important ...

  3. Express全系列教程之(十):jade模板引擎

    一.前言 随着前端业务的不断发展,页面交互逻辑的不断提高,让数据和界面实现分离渐渐被提了出来.JavaScript的MVC思想也流行了起来,在这种背景下,基于node.js的模板引擎也随之出现. 什么 ...

  4. BaseNavigationController自定义导航栏

    #import <UIKit/UIKit.h> @interface RCDNavigationViewController : UINavigationController<UIG ...

  5. Xcode上传appstore 出现 Found an unexpected Mach-O header code: 0x72613c21 错误

    网上说是静态库的问题

  6. jquery 拖动改变div大小

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 51Nod - 1242 斐波那契(快速幂)

    斐波那契数列的定义如下:   F(0) = 0 F(1) = 1 F(n) = F(n - 1) + F(n - 2) (n >= 2)   (1, 1, 2, 3, 5, 8, 13, 21, ...

  8. ssh连接异常

    在平时工作中,有时候需要SSH登陆到别的Linux主机上去,但有时候SSH登陆会被禁止,并弹出如下类似提示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...

  9. Linux下如何使用Wireshark进行抓包

    1. 安装wireshark Ubuntu 14.04.3 缺省安装后, 不包含Wireshark抓包软件,因此首先需要手工进行Wireshark的安装:     apt-get update apt ...

  10. C3算法 和 super

    一. Python的继承  多继承 子类继承父类. 继承是为了节省开发时间.提高开发效率 代码得到了重(chong)用 一个类可以拥有多个父类 lass shen_xian: # 定义一个神仙类 de ...