Android中的碰撞检测
好吧,所以最好的方式来检测android中的碰撞,作为唯一的例子,我可以找到它的所有involes发现何时两个对象是直接对方。我个人正在考虑使用边界框,但即使我不知道该怎么做,然后我仍然希望更多的东西一点点percise(每像素?)Android中的碰撞检测
如果你不是这方面的专家,我建议你使用Box2d库来做到这一点。它是一个非常完整的物理引擎,对碰撞检测有很好的支持。
有用的链接:http://www.4feets.com/2009/03/2d-physics-on-android-using-box2d/
Mhmm我以前听说过这个库,但一直想知道你是否可以用它来计算碰撞,因为我不需要它的物理 – Foxx 2010-12-04 12:41:29
两个步骤:
给能碰撞一个 “击中格” 的一切。将
Rect
保留在对象中,其大小与drawable相同并放在同一位置。拨打电话
myRectHitbox.contains(...)
中的一个。您可以检查点上的碰撞或以这种方式进行修正。
edthethird几乎是正确的。
你想使用myRectHitbox.intersect(myOtherRectHitbox)
而不是. contains(...)
。 .contains(...)
只会在一个Rect完全在另一个Rect内时触发,但如果有任何像素与另一Rect重叠,则触发.intersect(...)
。
如果您使用RectF
而不是Rect
,您将在支持子像素的设备上获得子像素精度。
Box2d是一个库..它会让你的生活更轻松 – Nepster 2014-05-26 11:48:32