【发布时间】:2012-12-12 06:04:59
【问题描述】:
我有一个三角形的精灵,我想知道这个三角形何时与另一个对象(CCSPrite)相交。我一直在使用CGRectIntersectsRect,但它并不准确,因为它采用了两个精灵的边界框,而不是实际的形状。
--编辑
我认为一种方法是在实际三角形周围定义几个点并检查这些点与另一个精灵之间的交点。我只是想知道是否有更简单的方法来做到这一点。
【问题讨论】:
标签: cocos2d-iphone
我有一个三角形的精灵,我想知道这个三角形何时与另一个对象(CCSPrite)相交。我一直在使用CGRectIntersectsRect,但它并不准确,因为它采用了两个精灵的边界框,而不是实际的形状。
--编辑
我认为一种方法是在实际三角形周围定义几个点并检查这些点与另一个精灵之间的交点。我只是想知道是否有更简单的方法来做到这一点。
【问题讨论】:
标签: cocos2d-iphone
您可以使用 box2d 准确检测碰撞。如果您有许多不同的复杂形状,它会很有用。或者您可以只检查形状边缘的交叉点。
如果有很多物体需要检测碰撞,我建议使用 box2d。它具有良好的内部优化,能够处理大量对象。在这种情况下,您只需在将对象添加到游戏层之前创建与精灵形状相同的物理体。
【讨论】: