Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.06.2009, 14:45
bars80080 вне форума Посмотреть профиль Отправить личное сообщение для bars80080 Найти все сообщения от bars80080
  № 1  
Ответить с цитированием
bars80080

Регистрация: Jun 2009
Сообщений: 31
По умолчанию последовательное затирание линии

добрый день,

рисую линии:
Код AS1/AS2:
	mc.lineStyle(1, 0x00FF00, 100);
	mc.moveTo(10, 10);
	mc.lineTo(100, 100);
             //...цикл...
	mc.lineTo(someX, someY);
             //...
при этом будет происходить зарисовывание некоторой области этими линиями. каким образом можно последовательно затирать хвост линии?

т.е. чтоб было не зарисовывание, а словно ломанная линия будет метаться по области

что-то типа молнии

или это делают каким-то другим способом?

Старый 16.06.2009, 15:05
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Да уж точно не циклом. Кадр перерисовывается только ПОСЛЕ выполнения всего кода в нем. Т.е. сначала выполнится весь цикл, и по последнимм координатам будет нарисована линия.
Используйте onEnterFrame или таймер.
__________________
Reality.getBounds(this);

Старый 16.06.2009, 15:13
bars80080 вне форума Посмотреть профиль Отправить личное сообщение для bars80080 Найти все сообщения от bars80080
  № 3  
Ответить с цитированием
bars80080

Регистрация: Jun 2009
Сообщений: 31
а, ну да, цикл я вставил только здесь, подразумевая дальнейшее продолжение линии в каком-то направлении

рисуется один отрезок на кадр по onEnterFrame

как затирать линии нарисованные n-кадров назад?

Старый 16.06.2009, 15:28
lexa2000lexa вне форума Посмотреть профиль Отправить личное сообщение для lexa2000lexa Найти все сообщения от lexa2000lexa
  № 4  
Ответить с цитированием
lexa2000lexa

Регистрация: Sep 2005
Сообщений: 950
вот так можно
Код AS1/AS2:
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;
		}
}

Старый 16.06.2009, 15:30
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 5  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
ну, я полагаю, есть для этого много способов.
Например, каждую линию рисовать в отдельном мувике, удалять мувик по истечению времени.

UPD:
да, предыдущий пост - именно этот метод. пока писал...

Старый 16.06.2009, 15:36
bars80080 вне форума Посмотреть профиль Отправить личное сообщение для bars80080 Найти все сообщения от bars80080
  № 6  
Ответить с цитированием
bars80080

Регистрация: Jun 2009
Сообщений: 31
в смысле уничтожение функции, запускаемой по смене кадра?

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

а во-вторых, у меня там хватает других действий, повешенных на кадровый счётчик, и рисование линии - всего лишь одно из них

Добавлено через 2 минуты
Цитата:
Например, каждую линию рисовать в отдельном мувике, удалять мувик по истечению времени.
да, я подумывал об этом, но как-то стрёмно показалось. я случаем не исчерпаю максимальной глубины вверх?


Последний раз редактировалось bars80080; 16.06.2009 в 15:39.
Старый 16.06.2009, 16:03
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 7  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
ну, если не будите клипы сотнями тысяч рисовать - то не исчерпаете.

Старый 16.06.2009, 16:35
bars80080 вне форума Посмотреть профиль Отправить личное сообщение для bars80080 Найти все сообщения от bars80080
  № 8  
Ответить с цитированием
bars80080

Регистрация: Jun 2009
Сообщений: 31
на частоте 24 кадра в секунду, тысяча клипов - это всего 40 секунд

впрочем, согласен, надо будет впаять некоторый ограничитель, иначе просто тормозить будет

ну, раз так, будем рисовать по клипово

я всё же надеялся, что у кого-нибудь есть волшебная задумка, как реализуются подобные вещи



ай, iNils, вы уничтожили интонацию фразы


Последний раз редактировалось bars80080; 17.06.2009 в 12:12.
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.