CGRectIntersectsRect与对象的坐标

时间:2014-03-28 12:17:01

标签: objective-c game-physics cgpoint

我想询问是否存在类似于Code CGRectIntersectsRect的内容。 例如: 有一个对象和一个块。如果物体落在块的顶部,它可以留在它上面。如果物体撞击了块的左侧,右侧或底侧,它应该撞击它并掉下来。 我的代码:

   if(CGRectIntersectsRect(Object.frame, Block.frame)){
    ObjectJump = 0;
    }

但是使用该代码,即使他从块的底部跳到顶部,对象也会保持不变。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

假设交叉点被重复检查,所以你知道在交叉点的开始处,那么重要的是对象在块上面有多少以及下面有多少。如果超过>它在下面,然后它在顶部。

目前您检查交叉点,但您也可以获得帧的交集。完成后,您可以比较交叉点框架和对象框架的高度。如果对象框架高度> 2 *交叉帧高度,然后帧不重叠。假设对象不能在块内,这就足够了。如果对象撞到块的侧面,则交叉点框架高度将与对象框架高度相同。

相关问题