两个矩形之间的碰撞检测

时间:2010-11-26 19:21:24

标签: iphone objective-c collision-detection


相当简单的问题,我相信你会嘲笑我 我有两个矩形playerRect和墙。
我有条件的if语句..

if (CGRectIntersectsRect(playerRect,wall)) {
      //handle collision here
}

我遇到的问题是找出实际撞到墙矩形的哪一方 我需要知道,因为那时我会阻止te球员移动,这取决于哪一侧命中 谢谢你的帮助 迪斯科

2 个答案:

答案 0 :(得分:0)

我会向我的'Player'对象添加一些方向属性。这样,当您检测到碰撞时,您只需检查玩家在碰撞前的移动方式并做出相应的反应。

答案 1 :(得分:0)

为对象的每一侧创建一个CGRect,宽度为1(或高度为1,具体取决于侧面),并查找与两侧的交叉点而不是整个对象。如果您的对象每次碰撞检查的移动速度超过1个像素,那么除了检查整个对象外,您还要检查的边