[cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 08.游戏界面 碰撞检测
来源:互联网 发布:游戏源码怎么用 编辑:程序博客网 时间:2024/05/07 13:42
从游戏里可以看出,当飞机和子弹碰到一起的时候就会爆炸,我们要做的就是实现怎么确定飞机和子弹碰到了一起;
我们将子弹与飞机的图层包围起来(包围核),当两个包围核的坐标重叠活着接触的时候我们就可以认为这两个无题已经碰在了一起,我们也可以添加爆炸效果或者移除飞机图层
<p class="p1"><span class="s1">void</span> <span class="s2">Game</span>::update(<span class="s1">float</span> t)</p><p class="p1">{</p> <span style="font-family: Arial, Helvetica, sans-serif;">if (allEnemy.size()==0||allButter.size()==0) {</span>
return; } // for (int j=0; j<allTool.size(); j++) { //得到第j架敌机 Tool * nowtool=allTool.at(j); Rect br(plane->px, plane->py, plane->getChildByTag(10)->getContentSize().width, plane->getChildByTag(10)->getContentSize().height); Rect er(nowtool->tx, nowtool->ty, nowtool->sp->getContentSize().width, nowtool->sp->getContentSize().height); if (br.intersectsRect(er)) { //敌机消失 allTool.eraseObject(nowtool); nowtool->removeFromParentAndCleanup(true); j--; } } for (int j=0; j<allEnemy.size(); j++) { //得到第j架敌机 Enemy * nowEnemy=allEnemy.at(j); Rect br(plane->px, plane->py, plane->getChildByTag(10)->getContentSize().width, plane->getChildByTag(10)->getContentSize().height); Rect er(nowEnemy->ex, nowEnemy->ey, nowEnemy->eSprite->getContentSize().width, nowEnemy->eSprite->getContentSize().height); if (br.intersectsRect(er)) { //碰撞检测到2个矩形相交 //敌机消失 allEnemy.eraseObject(nowEnemy); nowEnemy->removeFromParentAndCleanup(true); j--; } }
0 0
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 08.游戏界面 碰撞检测
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 09.游戏界面 道具
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 10.游戏界面 特效
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战02 主界面创建
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 04.游戏界面 主角飞机的添加
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 05.游戏界面 主角飞机的移动
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 06.游戏界面 主角飞机产生子弹
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 03.游戏界面 背景层实现滚动
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 07.游戏界面 敌机的产生与移动
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 01整体的游戏组成
- cocos2d-x游戏开发系列教程-坦克大战游戏之所有坦克之间的碰撞检测
- cocos2d-x游戏开发系列教程-坦克大战游戏之子弹的碰撞检测处理
- Cocos2d-X研究之豪华版飞机大战游戏开发系列
- cocos2d-x笔记(八)Lua开发飞机大战-2-游戏加载界面
- Cocos2d-x 3.2 lua飞机大战开发实例(三)道具的掉落,碰撞检测,声音,分数,爆炸效果,完善游戏的功能细节
- cocos2d-x游戏开发系列教程-坦克大战游戏之坦克和地图碰撞的检测上
- cocos2d-x游戏开发系列教程-坦克大战游戏之坦克和地图碰撞的检测下
- cocos2d-x游戏开发 跑酷(八) 对象管理 碰撞检测
- 【算法】有序数组循环右移后求最小值
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 07.游戏界面 敌机的产生与移动
- Codeforces 464C Substitutes in Number
- 杂记
- RocketMQ原理解析-consumer 4.长轮询push消息—并发消费消息
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 08.游戏界面 碰撞检测
- LeetCode-Path Sum
- 打造自己的js库1 -- dom操作之元素的拖放操作
- Javascript推导Y-Combinator (来自Jim Weirich)
- RocketMQ原理解析-consumer 5.push消费-顺序消费消息
- Leetcode之Valid Number
- RocketMQ原理解析-consumer 6.pull消息消费
- RocketMQ原理解析-consumer 7.shutdown
- JDBC中的接口PreparedStatement的用法