我想计算距离,所以就像。 "如果(对象靠近此对象10像素或更小)"或者喜欢(距离此对象10个像素或更远的对象)
这样做有好办法吗?感谢。
答案 0 :(得分:0)
你必须首先得到每个轴上的距离,然后使用毕达哥拉斯定理在它们之间形成一个三角形:
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) );
}
答案 1 :(得分:0)
我认为最好的方法是使用类Point的静态方法距离(返回pt1和pt2之间的距离)。 我还建议您检查一些有用的方法,如距离,插值等。
var p1:Point = new Point(0,0);
var p2:Point = new Point(3,4);
trace(Point.distance(p1, p2)); // 5