Archive for апреля 29, 2009

Анимация Stroke Line.

Задача – надо анимировать линию, летящую по произвольному пути. )) Stroke эффект одним словом.
Задача 2 – анимировать процесс рисования некоей произвольной фигуры.

Если кому то много букв — смотрим видео версию.
Если кому то жалко трафика — читаем ниже.

Все может быть решено довольно просто.

1. Рисуем законченный путь нашей линии (кривая)
step1
2. Дублируем кривую на новый слой.
3. Создаем круглый шейп и конвертируем его в графический клип.
4. Слой с дублем кривой превращаем в моушн-гайд для круглого шейпа.
5. Делаем анимацию шейпа по всему пути.
step5
6. Выделяем фреймы с моушнГайдом и шейпом, вырезаем их и создаем новый графический символ в билиотеке, куда и вставляем вырезанные фреймы. Или пользуемся необычайно полезной штукой Layers manager, который можно найти тут:  http://flash-animation.ru/category/plugins/ (Лерика, если ты это читаешь поправь линки! Прямая ссылка на пост о плагине не работает!!!)
7. Временно переводим моушнГайд в обычный слой, чтобы видеть путь в клипе маски.
8. Возвращаемся на сцену – совмещаем кривую и клип.
step8
9. Возврашаемся в клип маски, и восстанавливаем моушнГайд для слоя с кривой.
10. Слой с клипом, в котором находится анимация превращаем в маску для слоя с изначальной кривой. Ура.
step10
Задача 2.
1. Переводим клип с анимацией в ранг MovieClip. Дадим ему instance-имя masker.
2. Обернем masker в еще один мувиКлип с instance-name = mask_mc
3. Конвертируем кривую в мувиКлим с instance-name = line_mc
4. Пишем на таймлайне с линией и маской нехитрый код.

var mask_count:Number = 1;
mask_mc.masker.stop();
onEnterFrame = function():Void
{
	var mc:MovieClip = mask_mc.masker.duplicateMovieClip("mask"+mask_count,mask_count);
	mc.gotoAndStop(mask_count);
	if(mask_count == mask_mc.masker._totalframes)
	{
		delete onEnterFrame;
	}
	mask_count++;
}
line_mc.setMask(mask_mc);

5. Готово.

Popularity: 26% [?]

10 комментариев апреля 29, 2009




Метки

Категории

Ссылки

Фреш

МЕТА