Показать сообщение отдельно
Старый 31.10.2007, 22:33
Ostgur вне форума Посмотреть профиль Отправить личное сообщение для Ostgur Посетить домашнюю страницу Ostgur Найти все сообщения от Ostgur
  № 11  
Ответить с цитированием
Ostgur
 
Аватар для Ostgur

Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
Рабочая версия кода выше
Код:
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