[disc] Distance Calculations
I have been doing some tests and was just wonder what is better in the long run.
1. Using flashes built in Point object.
Code:
function Util_Distance1(Object1 : Object, Object2 : Object) : Number {
import flash.geom.Point;
var p1 : Point = new Point(Object1._x, Object1._y);
var p2 : Point = new Point(Object2._x, Object2._y)
var result_distance : Number = Point.distance(p1,p2);
delete p1;
delete p2;
return result_distance;
}
2. Using Math
Code:
function Util_Distance2(Object1 : Object, Object2 : Object) : Number {
xdist = Object2._x - Object1._x;
ydist = Object2._y - Object1._y;
return Math.sqrt(xdist * xdist + ydist * ydist);
}
The test I have ran both return 0 as the timed result.
So my question is, which of the two functions would give any performance?
Full Code
Code:
function Util_Distance1(Object1 : Object, Object2 : Object) : Number {
import flash.geom.Point;
var p1 : Point = new Point(Object1._x, Object1._y);
var p2 : Point = new Point(Object2._x, Object2._y)
var result_distance : Number = Point.distance(p1,p2);
delete p1;
delete p2;
return result_distance;
}
function Util_Distance2(Object1 : Object, Object2 : Object) : Number {
xdist = Object2._x - Object1._x;
ydist = Object2._y - Object1._y;
return Math.sqrt(xdist * xdist + ydist * ydist);
}
var StartTime:Number = getTimer();
var resultDistance : Number = Util_Distance1(Player1, Player2);
var EndTime:Number = getTimer();
trace ("Using Geom")
trace ("Distance: " + resultDistance);
trace ("Duration: " + (EndTime - StartTime) + " (ms)");
StartTime = getTimer();
resultDistance = Util_Distance2(Player1, Player2);
EndTime = getTimer();
trace ("Using Math")
trace ("Distance: " + resultDistance);
trace ("Duration: " + (EndTime - StartTime) + " (ms)");