好的,那么在 Android 中检测冲突的最佳方法是什么?我能找到的唯一示例都涉及查找两个对象何时直接位于彼此之上。就我个人而言,我正在考虑使用边界框,但即使如此,我也不知道该怎么做,然后我仍然想要更精确的东西(每个像素?)。
最佳答案
edthethird 几乎是正确的。
您想使用myRectHitbox.intersect(myOtherRectHitbox)
而不是。包含(...)
。 .contains(...)
仅当一个 Rect 完全位于另一个 Rect 内部时才会触发,但 .intersect(...)
如果有任何像素与另一个矩形重叠,则会触发。
如果您使用 RectF
而不是 Rect
,您将在支持子像素的设备上获得子像素精度。
关于android - Android 中的碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4353494/