夜色的 cocos2d-x 开发笔记 04
本章会把游戏的基本功能结束,前面实现了子弹发射,产生敌人。
接下来我们要,检测子弹与敌人碰撞,让玩家移动,实现这个游戏的基本功能。
于是多出了这几个方法,当然还是写在.h文件里
首先实现触摸监听的方法
在init方法中注册监听
此时运行,鼠标单击屏幕后,飞机应该可以动到指定位置了,当然他动的会有些诡异,因为飞机动了,子弹却还是原来的位置地发射,我们在发射子弹的方法内修改两句话,sendBullet方法,修改了原先的坐标,改为获取当前飞机位置的x轴坐标,这样子弹从飞机当前的位置发射
运行测试,完美,除了飞机移动的速度- -,可以根据距离不同来写个速度进去,我就省下了,不管是多远的距离都按照时间2.0来移动。
下面来检测子弹与敌机的碰撞,首先我们给子弹精灵和敌机精灵贴上标签,顺便添加到在.h文件里声明的容器里
修改下删除精灵的方法,让他根据标签来删除对应的精灵
好了检测碰撞,遍历两个数组,取出里面的精灵,打包成矩形,判断两个矩形是否有重叠,重叠既发生了碰撞(boundingBox().intersectRect,这句就是打包),if碰撞,就删除精灵,既从屏幕消失,也从数组中删除
之后别忘了在init方法添加
这样程序就会去调用update方法来检测碰撞了,至于多久调一次,我现在也不知道,运行下游戏吧,飞机在移动,子弹在发射,打中后敌人就会消失
刚到陌生的城市,还在面试,抽空再写一章,做完这个小游戏,下一章添加菜单,音效,爆炸效果,流动背景图片,嗯这就完了一个射击demo,再在这之后打算开始RPG游戏。
PS:以上所有论述,仅个人观点,欢迎批评,指正,交流。
转载注明原文地址。
夜色的 cocos2d-x 开发笔记 04的更多相关文章
- TERSUS无代码开发(笔记04)-CSS样式设置
CSS样式设置 1.常用显示样式 大小尺寸 说明 间距边距 说明 各类颜色 说明 width 宽 margin 外边距 color 颜色 height 高 pad ...
- 微信小程序开发笔记04
今天将小程序的页面进行优化 消除昨天遇到的bug问题. 完成了微信小程序的开发.
- TERSUS无代码开发(笔记05)-简单实例电脑端页面设计
案例笔记电脑端页面设计 1.新建项目(请假管理qjgl) 2.开发软件界面介绍(常用的功能按键) 3.目录中显示元件对象 4.对元件对象的操作主要方式是双击(双击哪个元件, ...
- TERSUS无代码开发(笔记03)-常用快捷键
常用快捷键 1.a 普通行为元件调用 2.b 判断输入的值是什么值 3.c 有条件的传值处理 4.e 输出元件 5.f 传值或流程 6.t 输入元件 7.p 调用元件查询 8.x 判断是否有输入值 图 ...
- 【Cocos2d-x游戏引擎开发笔记(25)】XML解析
原创文章,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/9128819 XML是一种非常重要的文件格式,由于C++对XML的支持非常完善 ...
- [Openwrt 项目开发笔记]:Openwrt平台搭建(一)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...
- PHP开发笔记
PHP开发笔记 JSON数据的解析 $json_data = isset($_GET['json_data']) ? $_GET['json_data'] : null; $json_data=str ...
- Java开发笔记(三十八)利用正则表达式校验字符串
前面多次提到了正则串.正则表达式,那么正则表达式究竟是符合什么定义的字符串呢?正则表达式是编程语言处理字符串格式的一种逻辑式子,它利用若干保留字符定义了形形色色的匹配规则,从而通过一个式子来覆盖满足了 ...
- Java开发笔记(四十)日期与字符串的互相转换
前面介绍了如何通过Date工具获取各个时间数值,但是用户更喜欢形如“2018-11-24 23:04:18”这种结构清晰.简洁明了的字符串,而非啰里八唆依次汇报每个时间单位及其数值的描述.既然日期时间 ...
随机推荐
- POJ1058 The Gourmet Club
题目来源:http://poj.org/problem?id=1058 题目大意:ACM城的美食俱乐部有16位成员.他们连续了当地的法国餐厅Chatrau Java来安排连续5天的晚餐.晚餐时他们每4 ...
- 在基于AngularJs架构的ABP项目中使用UEditor
[前提须知] 读过此篇博客 了解angular-ueditor 了解ABP如何使用 会使用VS2017 [1.下载ABP模板] https://aspnetboilerplate.com/Templa ...
- Java线程同步之静态方法
静态方法是同步方法:自动加锁,锁的对象是类对象 public static void main(String[] args) { Thread [] threadArr=new Thread[10]; ...
- 工具类_SharedPreferencesUtils
import android.app.Application;import android.content.Context;import android.content.SharedPreferenc ...
- /etc目录下重要的目录和文件
牢记: 1.*/etc/sysconfig/network-scripts/ifcfg-eth0 网卡的配置信息 重启网卡:1)/etc/init.d/network restart(所有网卡) ...
- 23-----BBS论坛
BBS论坛(二十三) 23.添加板块 (1)apps/models class BoardModel(db.Model): __tablename__ = 'board' id = db.Column ...
- 查看linux系统各种参数配置的命令
查看linux系统各种参数配置的命令 last |grep shutdown //查看上次关机时间 last |grep reboot ...
- CSS3 中 图标编码 icon——Font-Awesome
在做网页开发中经常会用到图标,原来经常会到一些icon网站上找导入到项目中,现在Font-Awesome中的有很多的图标,并且还在不断更新 现在Font-Awesome最新版本是4.7,下载出来的Fo ...
- Android NDK开发 图片处理(五)
做过Java的同学可能经常会遇到一些关于图片处理的 例如类似QQ离线头像显示灰的.最快的算法是用colorMatrix来实现.这里通过Java调用JNI来处理每一个像素来实现. 对每一个像素点取出RG ...
- UGUI 用脚本动态改变Button颜色组合
public Button button; void Start() { ColorBlock cb = new ColorBlock(); cb.normalColor = Color.red; c ...