![]() |
анимация линии: КАК?
Заранее прошу прощения за "простой" вопрос. Я честно пытался искать на него ответ в архивах форума, но безуспешно :(
Суть в том, что я не смог найти более рационального решения своей проблемы, чем ручная покадровая фазовка (отсечение сегментов кривой в обратном направлении). Я хочу добиться эффекта постепенно чертящейся кривой линии - от точки до законченной завитушки. Испробованный мной метод ShapeTweening'a в сочетании с вышеописанным не дал мне приемлемого результата, превратив мою кривую в извивающегося червя :eek: Были мысли насчет анимирования по кривой, но для этого нужно как-то заставить не исчезать шлейф за точкой и вообще... Какие будут разумные предложения Заранее благодапрен |
Да, вопрос очень интересный.
Мне тоже надо было решать такую проблему, кроме как по кадрам не получается. Можно маку двигать, но это сложно. А в примерах к Флеш4 есть ChalkBoard там мелок рисует на доске. Там сделано хитро: В первом кадре точка во ВТОРОМ линия. И мелок сначала у точки, а потом у конца линии. Получается иллюзия черечения. |
Вложений: 1
rech ob etom?????
|
Делать нечего, как по кадрам линии рисовать. А если надо схему телевизора с таким эффектом?
|
Маски, маски и ещё раз МАСКИ....просто надо нарисовать эту линию, а потом маской её "проявлять" :eek: :eek: :eek:
|
yurail, можно было сделать чуть рациональней.....т.е не покадрово, а несколькими Motion-ами.....но суть, я думаю всем ясна....
|
А вот про маску-то и забыл :) THANX
Да, вы правы, маска меня спасет ! Сейчас прямо-таки и попробую. Спасибо за наводку! :)
|
Надо было подумать!
|
:) Попробуй так:
Если нужно нарисовать линию то просто проанимируй ее через 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 |
:) Попробуй так:
Если нужно нарисовать линию то просто проанимируй ее через 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.