Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Мультипликация (http://www.flasher.ru/forum/forumdisplay.php?f=33)
-   -   анимация линии: КАК? (http://www.flasher.ru/forum/showthread.php?t=20996)

skater 29.09.2001 16:34

анимация линии: КАК?
 
Заранее прошу прощения за "простой" вопрос. Я честно пытался искать на него ответ в архивах форума, но безуспешно :(
Суть в том, что я не смог найти более рационального решения своей проблемы, чем ручная покадровая фазовка (отсечение сегментов кривой в обратном направлении).
Я хочу добиться эффекта постепенно чертящейся кривой линии - от точки до законченной завитушки. Испробованный мной метод ShapeTweening'a в сочетании с вышеописанным не дал мне приемлемого результата, превратив мою кривую в извивающегося червя :eek:
Были мысли насчет анимирования по кривой, но для этого нужно как-то заставить не исчезать шлейф за точкой и вообще...
Какие будут разумные предложения
Заранее благодапрен

Владимиръ 29.09.2001 20:36

Да, вопрос очень интересный.
Мне тоже надо было решать такую проблему, кроме как по кадрам не получается. Можно маку двигать, но это сложно.
А в примерах к Флеш4 есть ChalkBoard там мелок рисует на доске. Там сделано хитро:
В первом кадре точка во ВТОРОМ линия. И мелок сначала у точки, а потом у конца линии. Получается иллюзия черечения.

yurail 29.09.2001 20:45

Вложений: 1
rech ob etom?????

Владимиръ 29.09.2001 20:53

Делать нечего, как по кадрам линии рисовать. А если надо схему телевизора с таким эффектом?

*JeF* 29.09.2001 20:58

Маски, маски и ещё раз МАСКИ....просто надо нарисовать эту линию, а потом маской её "проявлять" :eek: :eek: :eek:

*JeF* 29.09.2001 21:01

yurail, можно было сделать чуть рациональней.....т.е не покадрово, а несколькими Motion-ами.....но суть, я думаю всем ясна....

skater 30.09.2001 16:07

А вот про маску-то и забыл :) THANX
 
Да, вы правы, маска меня спасет ! Сейчас прямо-таки и попробую. Спасибо за наводку! :)

Владимиръ 30.09.2001 17:14

Надо было подумать!

MintyK 15.10.2001 16:18

:) Попробуй так:

Если нужно нарисовать линию то просто проанимируй ее через Motion или _x(_y)scale. Если по дуге то отрезок дуги с помощь маски. (Проще канечно линею)

Ну да ладно об этом ...

Потом береш и в первый кадр экзэмпляры будь то льния или дуга пишеш к примеру "x = 0" а в последнем "x = 1";

Затем либо через attach либо через duplicate делаеш дублирования анимированного объекта при этом получая от экземпляра сведения о "X" е ставиш проверку

if (x ==1){
gotoAndPlay(...следующий кадр ...)
}


вот гдето так если же речь идет о ресовании дуги то придется через уравнения окружности идти (то есть) . Зная угол дуги начального экземпляра просчитуеш начало кадра ресующего дугу понял???

если нет то уровнение круга примерно такое :

R^2 = X^2 + Y^2;

О смотри еще идейка сделай для отрезачка трех кадравую анимацию (ну это когда при перересовке ты возвращяешся на кадр назад ;) ) значится так...

в первый кадр клипа идущего по дуге пихаеш
{
alpha = 0;
r1 = 30;
r2 = 90;
}
во второй
{
x = r1 * Math.cos( alpha+(Math.PI));
y = r2 * Math.sin( alpha+(Math.PI ));
setProperty(it, _y, y+r2+50);
setProperty(it, _x, x+r1+50);
}
}







Ну если че не понял пиши

lion@softstream.kiev.ua

MintyK 15.10.2001 16:37

:) Попробуй так:

Если нужно нарисовать линию то просто проанимируй ее через Motion или _x(_y)scale. Если по дуге то отрезок дуги с помощь маски. (Проще канечно линею)

Ну да ладно об этом ...

Потом береш и в первый кадр экзэмпляры будь то льния или дуга пишеш к примеру "x = 0" а в последнем "x = 1";

Затем либо через attach либо через duplicate делаеш дублирования анимированного объекта при этом получая от экземпляра сведения о "X" е ставиш проверку

if (x ==1){
gotoAndPlay(...следующий кадр ...)
}


вот гдето так если же речь идет о ресовании дуги то придется через уравнения окружности идти (то есть) . Зная угол дуги начального экземпляра просчитуеш начало кадра ресующего дугу понял???

если нет то уровнение круга примерно такое :

R^2 = X^2 + Y^2;

О смотри еще идейка сделай для отрезачка трех кадравую анимацию (ну это когда при перересовке ты возвращяешся на кадр назад ;) ) значится так...

в первый кадр клипа идущего по дуге пихаеш
{
alpha = 0;
r1 = 30;
r2 = 90;
}
во второй
{
x = r1 * Math.cos( alpha+(Math.PI)); //Дуга элипса по Х
y = r2 * Math.sin( alpha+(Math.PI )); //Дуга элипса по У
setProperty(it, _y, y+r2+50);
setProperty(it, _x, x+r1+50);
setProperty(it, _rotation, alpha);
}
- где it - имя твоего объекта в колонке instance...
ну а втретем миняеш уголок и все
{
alpha+=0.01;
if (alpha > 360){alpha = 0}
gotoAndPlay(2);
}

Тем самым перемищяеш свой клип по дуге с поворотом ...
а под этим перемещением по определенным параметрам подкладываеш отрезочки конечно через шестую точку но работать должно... :)

Ну если че не понял пиши

lion@softstream.kiev.ua


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

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