【发布时间】:2015-12-27 17:40:32
【问题描述】:
我正在尝试开发一个简单的 2D 游戏。其中我有多个计时器的矩形。我想在我的自定义视图中检测矩形的碰撞。我为两个矩形使用了多个计时器。我希望其中一个矩形在碰撞后消失一段时间。我在堆栈溢出和谷歌上搜索了很多,但找不到关于我的查询的完美答案。 请帮忙。提前致谢。
【问题讨论】:
标签: android canvas touch-event ondraw
我正在尝试开发一个简单的 2D 游戏。其中我有多个计时器的矩形。我想在我的自定义视图中检测矩形的碰撞。我为两个矩形使用了多个计时器。我希望其中一个矩形在碰撞后消失一段时间。我在堆栈溢出和谷歌上搜索了很多,但找不到关于我的查询的完美答案。 请帮忙。提前致谢。
【问题讨论】:
标签: android canvas touch-event ondraw
矩形的碰撞检测非常简单。基本上,如果 X、Y 范围有任何重叠,那么它们就会发生碰撞。所以只需做一个矩形相交检查。
大多数地方都有 Rect 和 Rectangle 类(这是 RectF.intersect() )。
return a.left < b.right && b.left < a.right
&& a.top < b.bottom && b.top < a.bottom;
您可能会变得比这更复杂,尤其是当速度成为问题时。或者当其中一个矩形可能在滴答声期间穿过另一个矩形但不与滴答声相交时。
【讨论】: