rendered paste bodyfunction getLineTimeline(p1:Point, p2:Point, hops:Number):Array
{
var points:Array = [p1];
var stepX:Number = (p2.x - p1.x) / hops;
var stepY:Number = (p2.y - p1.y) / hops;
for (var i:Number = 1; i <= hops; i++)
points[points.length] = new Point(points[points.length - 1].x + stepX, points[points.length - 1].y + stepY);
return(points);
}
function tweenLine( mc:MovieClip, p1:Point, p2:Point, hops:Number, interval_time:Number, onComplete:Function, onStep:Function )
{
if (mc.intv) clearInterval(mc.intv);
var points = getLineTimeline(p1, p2, hops);
var obj:Object = {count:0, points:points, mc:mc, onComplete:onComplete, onStep:onStep};
mc.intv = setInterval( function(obj:Object)
{
obj.mc._x = obj.points[obj.count].x;
obj.mc._y = obj.points[obj.count].y;
if (obj.onStep != null) obj.onStep();
if (++obj.count > obj.points.length)
{
clearInterval( mc.intv );
if (obj.onComplete != null) obj.onComplete();
}
}, interval_time, obj);
}