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

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

  于是多出了这几个方法,当然还是写在.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. iOS沙盒文件目录

    iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么.documents,tmp,app,Library.(NSHomeDirectory() ...

  2. 16.Shortest Unsorted Continuous Subarray(最短未排序子数组)

    Level:   Easy 题目描述: Given an integer array, you need to find one continuous subarray that if you onl ...

  3. 删除Ati显卡桌面右键菜单(配置可交换显卡,显示卡属性,图形选项,图形属性)

    Win+R 打开注册表 依次找到 HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers 保留Gadgets.New.Sh ...

  4. 001 开发环境搭建、安卓项目结构、R文件位置、asset目录创建

    1.安卓开发平台搭建 (1)下载SDK基础工具包(自己的百度云中) (2)将下载的安装包(android-sdk_r24.4.1-windows.zip)解压后,放到以下路径 C:\SoftAppli ...

  5. window.open 设置高和宽无效

    当设置_self属性时,再设置宽和高就不管用,这个宽高会继承父窗口的宽高! window.open("url","_self","width=100, ...

  6. HDU 3709 Balanced Number 求区间内的满足是否平衡的数量 (数位dp)

    平衡数的定义是指,以某位作为支点,此位的左面(数字 * 距离)之和 与右边相等,距离是指某位到支点的距离; 题意:求区间内满足平衡数的数量 : 分析:很好这又是常见的数位dp , 不过不同的是我们这次 ...

  7. php中静态绑定

    自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类. 虽然也可以调用非静态方法,但是不会在运行时绑定. static 不再只是简单的静态修饰关键字. ...

  8. jQuery 全屏滚动插件 fullPage.js 参数说明

    fullPage.js 是一个基于 jQuery 的插件,它能够很方便.很轻松的制作出全屏网站,主要功能有: 支持鼠标滚动 支持前进后退和键盘控制 多个回调函数 支持手机.平板触摸事件 支持 CSS3 ...

  9. python3 zip()函数笔记

    a=[1,2,3]b=[4,5,6] for A ,B in zip(a,b):#用zip()函数整体打包 print(A,B)

  10. my03_使用空数据库搭建Mysql主从复制

    无数据的主从复制,就搭建一套主从结构的空库,这个是最简单的,先说说这种主从的搭建思路,有利于理解Mysql主从复制1. 安装两套mysql单实例数据库,一个作为主库.一个作为从库:注意要设置两个数据库 ...