我如何计算距离?

How do I calculate distance?

我想计算距离,喜欢。 "If (object 10 pixels or less close to this object)" 或类似(距离此对象 10 像素或更远的对象)

有什么好的方法吗?谢谢。

你必须先得到每个轴上的距离,然后使用勾股定理在它们之间形成一个三角形:

var p1:Point = new Point(0,0);
var p2:Point = new Point(3,4);

//distance on the x axis
var dx = p2.x - p1.x; //3

//distance on the y axis
var dy = p2.y - p1.y; //4

//c^2 = a^2 + b^2
var distance = Math.sqrt( (dy * dy) + (dx * dx) ); //5

这是您可以用来执行此操作的函数

function getDistance(p1:Point, p2:Point):Number
{
    var dx = p2.x - p1.x;
    var dy = p2.y - p1.y;
    return Math.sqrt( (dy * dy) + (dx * dx) );
}

我认为最好的方法是使用classPoint的静态方法距离(Returnspt1和pt2之间的距离)。 我还建议您也检查一些有用的方法,如距离、插值等。

var p1:Point = new Point(0,0);
var p2:Point = new Point(3,4);

trace(Point.distance(p1, p2)); // 5