All pastes #595162 Raw Edit

Untitled

public text v1 · immutable
#595162 ·published 2007-06-29 10:44 UTC
rendered paste body
function 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);
}