cocos2d-x学习笔记番外篇03:坑爹的矩形碰撞
2012-01-11 20:02
459 查看
在写炸弹人那个例子时,发现了一个问题,按道理说,主角已经躲开了炸弹爆炸区域,但仍然给炸死了。如图:
我们找到计算矩形相交的代码
然后我们随便打开一个函数
问题找到了,比如,我声明一个x=0,y=0,w=10,h=10的矩形
那么他的四个极限位置应该是
minX=x
minY=y
maxX=x+w-1
maxY=y+h-1
但是他这里没有-1。所以造成最后结果大了一个点。这个问题,大家尤其要注意。所以在声明的时候,要自己-1,比如上面的矩形就要声明为:
0,0,9,9
我们找到计算矩形相交的代码
bool CCRect::CCRectIntersectsRect(const CCRect& rectA, const CCRect& rectB) { return !(CCRectGetMaxX(rectA) < CCRectGetMinX(rectB)|| CCRectGetMaxX(rectB) < CCRectGetMinX(rectA)|| CCRectGetMaxY(rectA) < CCRectGetMinY(rectB)|| CCRectGetMaxY(rectB) < CCRectGetMinY(rectA)); }
然后我们随便打开一个函数
CGFloat CCRect::CCRectGetMaxX(const CCRect& rect) { return rect.origin.x + rect.size.width; }
问题找到了,比如,我声明一个x=0,y=0,w=10,h=10的矩形
那么他的四个极限位置应该是
minX=x
minY=y
maxX=x+w-1
maxY=y+h-1
但是他这里没有-1。所以造成最后结果大了一个点。这个问题,大家尤其要注意。所以在声明的时候,要自己-1,比如上面的矩形就要声明为:
0,0,9,9
相关文章推荐
- 五毛的cocos2d-x学习笔记03-控件
- 地球人己阻止不了程序猿们学习cocos2d-x了-学习笔记03
- cocos2d-x学习笔记番外篇:地图滚动代码
- 【Cocos2d-x3.0学习笔记 03】一些基本的使用
- cocos2d-x碰撞检测学习笔记
- Flash游戏学习笔记:矩形检测碰撞
- cocos2d-x学习笔记03——动画
- Cocos2d-x 3.x学习笔记:猩先生带你打飞机(五)敌我碰撞处理、分数计算、音乐播放
- cocos2d-x学习笔记03:绘制基本图元
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》第七步--物理碰撞检測(1)
- cocos2d-x 2.X demo学习笔记 9 ----Touches 触摸事件 以及碰撞检测
- cocos2d-x学习笔记番外篇04:开发问题汇总01 推荐
- cocos2d-x学习笔记03:绘制基本图元
- 【转】cocos2d-x学习笔记03:绘制基本图元
- cocos2d-x 菜鸟学习笔记十七(简单的碰撞检测 实践篇 下)
- Flash游戏学习笔记:矩形检测碰撞
- cocos2d-x 菜鸟学习笔记十三(简单的碰撞检测)
- Flash游戏学习笔记:矩形检测碰撞
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》第七步--物理碰撞检测(1)
- 【Cocos2d-x 3.0学习笔记】圆形碰撞判断