Просмотр полной версии : последовательное затирание линии
bars80080
16.06.2009, 14:45
добрый день,
рисую линии:
mc.lineStyle(1, 0x00FF00, 100);
mc.moveTo(10, 10);
mc.lineTo(100, 100);
//...цикл...
mc.lineTo(someX, someY);
//...
при этом будет происходить зарисовывание некоторой области этими линиями. каким образом можно последовательно затирать хвост линии?
т.е. чтоб было не зарисовывание, а словно ломанная линия будет метаться по области
что-то типа молнии
или это делают каким-то другим способом?
Да уж точно не циклом. Кадр перерисовывается только ПОСЛЕ выполнения всего кода в нем. Т.е. сначала выполнится весь цикл, и по последнимм координатам будет нарисована линия.
Используйте onEnterFrame или таймер.
bars80080
16.06.2009, 15:13
а, ну да, цикл я вставил только здесь, подразумевая дальнейшее продолжение линии в каком-то направлении
рисуется один отрезок на кадр по onEnterFrame
как затирать линии нарисованные n-кадров назад?
lexa2000lexa
16.06.2009, 15:28
вот так можноvar num = 10;
onEnterFrame = function(){
if(num<100){
num++;
trace(mc)
var mc:MovieClip = this.createEmptyMovieClip("mc",1)
mc.lineStyle(3, 0xff0000, 100);
mc.moveTo(num, 100);
mc.lineTo(100, 100);
}
else{
delete onEnterFrame;
}
}
iflamberg
16.06.2009, 15:30
ну, я полагаю, есть для этого много способов.
Например, каждую линию рисовать в отдельном мувике, удалять мувик по истечению времени.
UPD:
да, предыдущий пост - именно этот метод. пока писал...
bars80080
16.06.2009, 15:36
в смысле уничтожение функции, запускаемой по смене кадра?
во-первых, это совершенно к задаче не относится. мне не остановиться надо, а просто затирать то, что уже было нарисовано несколько кадров назад
а во-вторых, у меня там хватает других действий, повешенных на кадровый счётчик, и рисование линии - всего лишь одно из них
Добавлено через 2 минуты
Например, каждую линию рисовать в отдельном мувике, удалять мувик по истечению времени.
да, я подумывал об этом, но как-то стрёмно показалось. я случаем не исчерпаю максимальной глубины вверх?
iflamberg
16.06.2009, 16:03
ну, если не будите клипы сотнями тысяч рисовать - то не исчерпаете.
bars80080
16.06.2009, 16:35
на частоте 24 кадра в секунду, тысяча клипов - это всего 40 секунд
впрочем, согласен, надо будет впаять некоторый ограничитель, иначе просто тормозить будет
ну, раз так, будем рисовать по клипово
я всё же надеялся, что у кого-нибудь есть волшебная задумка, как реализуются подобные вещи
ай, iNils, вы уничтожили интонацию фразы
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.