什么是最好的方法来检测一个交叉头发是针对一个圆的目标?我试着在十字线的中间加一个小圆圈,然后检测那个圆圈和目标什么时候碰撞。但我不能让它开始工作。
我曾经尝试过使用目标的x和y坐标,但如果能够发现交叉“圆圈”和圆形目标是重叠的,而它们不是重叠的,那就好多了。
我尝试了一下重叠图像:http://developer.coronalabs.com/code/flashs-hittestobject-emulated-using-contentbounds,但是这并不能识别圆形的形状,只识别矩形。
发布于 2013-02-18 13:59:39
如果从x,y到物体中心的距离小于或等于物体的半径,则十字线就在物体上。毕达哥拉斯是你的朋友。在enterFrame事件中检查这个。
顺便说一句,你不需要做平方根计算。只需每次通过((x1-x2)*(x1-x2)) + ((y1-y2)*(y1-y2))计算enterFrame,并将其与对象的半径平方进行比较,这将是常数,因此只能计算一次。
发布于 2013-02-25 01:36:26
看看这篇关于非物理碰撞的博文。它包括两种方法(盒重叠法和圆半径法)。我在一些不需要物理的应用程序中使用了这些软件。
http://omnigeek.robmiracle.com/2011/12/14/collision-detection-without-physics/
https://stackoverflow.com/questions/14921331
复制相似问题