Рабочая версия кода выше

Код:
interval = 20; // интервал, в милисекундах
time = 2; // длительность анимации, в секундах
xy = [0, 0, //начальное положение
150, 0,
150, 150,
0, 180,
0,0 //конечное положение
];
function draw1 (what,x0,y0,x1,y1){
if (f > 1/k) return nextXY(); else { x1 = (x1-x0)*k*f; y1 = (y1-y0)*k*f; }
what.clear();
what.lineStyle(5, 0xff00ff, 100, true, "none", "round", "miter", 1);
what.moveTo(x0,y0);
what.lineTo(x0+x1,y0+y1);
f++;
}
function nextXY(){
pos +=2;
ho = this.createEmptyMovieClip("line"+pos, pos);
clearInterval(myInt);
if(pos < xy.length)
{
myInt = setInterval(draw1, interval, ho, xy[pos-2], xy[pos-1], xy[pos], xy[pos+1]);
}
f=1;
}
pos = 0; f = 1; k = interval/time/1000;
nextXY();
//UPDATE: draw => draw1 x => x1 y => y1