cocos2d-x学习笔记番外篇03:坑爹的矩形碰撞

简介:

 在写炸弹人那个例子时,发现了一个问题,按道理说,主角已经躲开了炸弹爆炸区域,但仍然给炸死了。如图:

我们找到计算矩形相交的代码


 
 
  1. bool CCRect::CCRectIntersectsRect(const CCRect& rectA, const CCRect& rectB) 
  2.     return !(CCRectGetMaxX(rectA) < CCRectGetMinX(rectB)|| 
  3.             CCRectGetMaxX(rectB) < CCRectGetMinX(rectA)|| 
  4.             CCRectGetMaxY(rectA) < CCRectGetMinY(rectB)|| 
  5.             CCRectGetMaxY(rectB) < CCRectGetMinY(rectA)); 

然后我们随便打开一个函数


 
 
  1. CGFloat CCRect::CCRectGetMaxX(const CCRect& rect) 
  2.     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






 本文转自 老G 51CTO博客,原文链接:http://blog.51cto.com/goldlion/762103,如需转载请自行联系原作者

相关文章
|
Python 容器
通过游戏学Python系列之小兔要上天---手把手教你使用Pygame开发平台跳跃类游戏05之滚动屏幕
通过游戏学Python系列之小兔要上天---手把手教你使用Pygame开发平台跳跃类游戏05之滚动屏幕
245 0
|
前端开发
autojs之十二圆
使用情景 给孩子画个圆
254 0
“闪瞎双眼~”,今天来实现如何实现太阳的光晕效果(Unity3D)
太阳光晕的效果虽然用处不大,但是很漂亮,漂亮不就行了,那么就来看看怎么在Unity3D中实现太阳光晕效果吧。
|
存储 程序员 C语言
【C语言】升级版三子棋小游戏(棋盘界面美化+动画演示)
【C语言】升级版三子棋小游戏(棋盘界面美化+动画演示)
298 0
【C语言】升级版三子棋小游戏(棋盘界面美化+动画演示)
|
vr&ar 图形学
【Unity3D 灵巧小知识点】 ☀️ | Unity退出游戏代码
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
|
API vr&ar 图形学
【Unity3D 灵巧小知识点】☀️ | Unity 移动物体到指定位置的几种方法【精选快捷使用】
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
|
vr&ar 图形学
【Unity3D 灵巧小知识点】☀️ | Unity 中 使用代码切换天空盒
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】☀️ | Unity 中 使用代码切换天空盒
|
Windows
Photoshop隐藏的彩蛋
第一次接触彩蛋是微软的Excel里面的赛车游戏, 当时作者还上小学, 游戏资源很少, 微机室又不让随便装游戏, 于是小伙伴们经常打开excel找赛车游戏玩, 后来特地查了一下office各个版本的隐藏彩蛋, 真的是比office套件的软件数量都多,...
1340 0