PDA

Просмотр полной версии : программная анимация


KaLiF
10.09.2004, 15:52
Возможно ли программно реализовать рисование линии? Типа чтоб сначала точка была, а потом из неё плавно вырастала линия.

iNils
10.09.2004, 16:12
Можно. Например:
_root.lineStyle (1, "0xFF0000", 100);
_root.moveTo (100, 100);
_root.lineTo(200,100);

Nox Noctis
10.09.2004, 17:58
кстати, это можно было делать еще в пятерке :) через растягивание клипов.

sergwizard
10.09.2004, 19:10
2iNils, внимательнее.., в вопросе было. "…Типа чтоб сначала точка была, а потом из неё плавно вырастала линия.". То, что ты предложил, не рисует постепенно линию, а сразу создает ее в окончательном виде.

2KaLiF, скопируй этот код в первый фрейм. Потом просто кликай мышкой.

step = 2; // Шаг
endX = 350; //Конечная координата по x
//Создаем пустой мувиклип, в котором и будем рисовать линию.
this.createEmptyMovieClip("line",1);
//Координаты этого мувиклипа
line._x = 100;
line._y = 100;
//Вызываем событие "onEnterFrame" для мувиклипа "line"
this.onMouseDown = function(){
line.clear();
i=0;
//Задаем стиль линии
line.lineStyle(3,0xFF0000,100);
//Прописываем, что делает мувиклип "line" на EnterFrame
line.onEnterFrame = function(){
i++;
//Рисуем линию
line.lineTo(step*i,0);
//Если линия достигла своей конечной точки, убиваем событие "onEnterFrame"
if(2*i>=endX){
delete line.onEnterFrame;
}
}
}

KaLiF
10.09.2004, 20:01
Спасибо, щас протестить не могу, мож зпвтра, но всё равно сенкс

iNils
10.09.2004, 22:51
Я был внимателен и дал направление где искать, а не подробно разжевал и положил в рот. )

sergwizard
10.09.2004, 23:17
Да? Тогда прочти внимательно собственный пост.
Можно. Например:
Это напрвление, где искать? Или один из вариантов рабочего кода? :)

iNils
11.09.2004, 00:05
Направление. Зная уже что программно рисовать можно и взяв в качестве примера мой короткий код, вполне добиться плавного вырастания линии.

И уж автору "Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный." как то странно об этом спрашивать.

nuran
11.09.2004, 13:25
Можно задать две точки координатами и между ними рисовать линию. В начале пусть они будут находится в одинаковых кординатах, далее одна точка удет удаляться от другой, линия при этом будет перерисвываться в каждм кадре.