Android中的碰撞检测

Android中的碰撞检测

问题描述:

好吧,所以最好的方式来检测android中的碰撞,作为唯一的例子,我可以找到它的所有involes发现何时两个对象是直接对方。我个人正在考虑使用边界框,但即使我不知道该怎么做,然后我仍然希望更多的东西一点点percise(每像素?)Android中的碰撞检测

+0

Box2d是一个库..它会让你的生活更轻松 – Nepster 2014-05-26 11:48:32

如果你不是这方面的专家,我建议你使用Box2d库来做到这一点。它是一个非常完整的物理引擎,对碰撞检测有很好的支持。

有用的链接:http://www.4feets.com/2009/03/2d-physics-on-android-using-box2d/

+3

Mhmm我以前听说过这个库,但一直想知道你是否可以用它来计算碰撞,因为我不需要它的物理 – Foxx 2010-12-04 12:41:29

两个步骤:

  1. 给能碰撞一个 “击中格” 的一切。将Rect保留在对象中,其大小与drawable相同并放在同一位置。

  2. 拨打电话myRectHitbox.contains(...)中的一个。您可以检查点上的碰撞或以这种方式进行修正。

edthethird几乎是正确的。

你想使用myRectHitbox.intersect(myOtherRectHitbox)而不是. contains(...).contains(...)只会在一个Rect完全在另一个Rect内时触发,但如果有任何像素与另一Rect重叠,则触发.intersect(...)

如果您使用RectF而不是Rect,您将在支持子像素的设备上获得子像素精度。