检测十字准线针对圆目标的最佳方法是什么? 我尝试在十字准线的中间添加一个小圆圈,并检测该圆圈和目标何时发生碰撞。但是我无法让它发挥作用。
我已经尝试过使用目标的x和y坐标,但是能够检测到十字线“圆圈”和圆形目标何时重叠,以及何时它们不重叠会更好
我试过这个重叠图像:http://developer.coronalabs.com/code/flashs-hittestobject-emulated-using-contentbounds但是这不能识别圆形,只能识别矩形。
答案 0 :(得分:3)
如果从十字准线的x,y到物体中心的距离小于或等于物体的半径,则十字准线在物体上。毕达哥拉斯是你的朋友。请在enterFrame
事件中查看此内容。
顺便说一下,你不需要为此计算平方根。只需通过((x1-x2)*(x1-x2)) + ((y1-y2)*(y1-y2))
计算enterFrame
,然后将其与对象的半径平方进行比较,该平方将保持不变,因此只能计算一次。
答案 1 :(得分:1)
查看这篇关于非物理碰撞的博客文章。其中包含两种方法(框重叠和圆半径)。我在很多不需要物理的应用程序中使用这些。
http://omnigeek.robmiracle.com/2011/12/14/collision-detection-without-physics/