gpt4 book ai didi

android - 如何检测形状碰撞 - Android

转载 作者:行者123 更新时间:2023-11-29 15:52:12 29 4
gpt4 key购买 nike

我想检测在 Android 游戏的 Canvas (SurfaceView) 上动态绘制的形状之间的碰撞。

我可以很容易地使用 Rect 或 RectF 对象的相交方法,但结果不是很好(见下图,我有一个“错误”检测)。

enter image description here

我不想使用位图,所以不可能使用“像素完美”方法。

你知道圆形、矩形、三角形和其他基本形状相交的方法吗?

谢谢你的帮助;)

最佳答案

为了进行良好的碰撞检测,您必须在后面创建自己的模型。在这些模型中,您指定两个对象碰撞的条件。

例如,圆是由中心位置和半径描述的。正方形由左下角和边长描述。

您不必描述所有可能的多边形,您可以使用所谓的边界框,这意味着对于复杂的随机多边形,您可以使用方形或任何最适合的形状(您也可以使用多种形状来单个对象)。

在你记住这些物体之后,你计算出它们中的每一个都会与包括它自身在内的所有其他形状发生碰撞的条件。

在您的示例中,如果正方形任何角之间的距离大于圆的半径,则球体和正方形发生碰撞。

在这里您可以阅读更多http://devmag.org.za/2009/04/13/basic-collision-detection-in-2d-part-1/

这个问题可能会变得非常复杂,如果您想要简单的东西,请保持简单。

关于android - 如何检测形状碰撞 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29475212/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com