Эффект взрыва для флеш-проекта

Эффект взрыва довольно часто используется в флеш-играх. И, естественно, флешерами выработано много способов создания этого эффекта. Кто-то предпочитает рисовать взрыв в виде MovieClip-а, кто-то имитирует взрыв с помощью различных алгоритмов на ActionScript, а есть и те, кто комбинирует эти способы (например рисуют частицы, а потом анимируют их при помощи кода). Я не буду оригинален и выберу первый путь. Но рисовать нам ничего не придётся. За нас всё нарисует специальный генератор эффекта взрыва - программа Explogen.

Эффект взрыва в Explogen

Интерфейс Explogen прост и интуитивно понятен. Есть ряд настроек анимации взрыва, частиц, настройки цвета. К сожалению, прозрачный фон не поддерживается и, возможно, вам придётся потом исправить этот недостаток в другом растровом редакторе. Все внесённые изменения можно сразу же просмотреть в окне предпросмотра.

Эффект взрыва в Explogen

Если эффект вас устраивает, то нажимайте кнопку Export и результат будет сохранён программой в виде набора графических файлов с расширением bmp. Обратите внимание, что файлы будут сохранены в туже папку, где находится и сама программа. Каждая картинка будет соответствовать отдельному кадру эффекта. Картинки пронумерованы в той последовательности, в какой они образуют анимацию взрыва. Пример такого отдельного изображения вы можете видеть ниже.

Эффект взрыва в Explogen

Если вас всё устраивает, то скачать программу можно с kenginegaming.com или с файлообменника на народе по этой ссылке.

Как это можно применить во Flash?

Я делал следующее:

- импортировал сгенерированную в Explogen последовательность изображений в флеш-редактор (это может быть и Macromedia Flash, и Adobe Flash - в данном случае это маловажно);

- создавал MovieClip с точкой регистрации посередине (!);

- в данный MovieClip на каждый кадр помещал импортированные ранее изображения в соответствии с порядком нумерования данных изображений, а потом выравнивал эти изображения по центру мувика.

Таким образом у меня получался мувиклип с анимацией взрыва на его временной шкале. Например, такой:

Загрузить Adobe Flash Player

По моему субъективному мнению, получилось не так уж и плохо...

Наш мувик с анимацией эффекта взрыва мы, как и любой другой мувик, можем добавлять в наши проекты динамически. Для примера сделаем приложение, в котором эффект взрыва будет возникать при каждом клике по сцене флеш-ролика, а координаты центра взрыва будут соответствовать координатам курсора мышки.

Код ActionScript 3.0:

stage.addEventListener(MouseEvent.CLICK, mClick); function mClick(event:MouseEvent):void { var explosion:Explosion = new Explosion(); explosion.gotoAndPlay(1); explosion.rotation = Math.round(Math.random()*360); addChild(explosion); explosion.x = mouseX; explosion.y = mouseY; }

Класс Explosion из данного кода - это класс нашего мувика с анимацией взрыва. А чтобы взрывы не были похожи друг на друга, мы в случайном порядке будем менять угол вращения создаваемых объектов.

У меня получилось следующее:

Загрузить Adobe Flash Player

Конечно, данный способ имитации эффекта взрыва не является идеальным. Использование растра увеличивает размеры готового флеш-проекта. Кроме этого, непрозрачный фон приходится делать прозрачным с помощью сторонних растровых редакторов, а это не очень удобно. Но, с другой стороны, вы можете создавать нужный вам эффект в визуальном редакторе и легко его изменять, править. А сам эффект не нагружает флеш-плеер (что весьма актуально для анимации частиц).

Исходник к данному уроку под Adobe Flash CS5.5 скачать можно здесь.

Автор: admin

Дата добавления: 2011-12-02

Просмотров: 11827

Рейтинг поста: +2-

Правила перепечатки

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): 123321
Дата добавления: 2014-07-29
123321
Добавить комментарий:







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить комментарий.

Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика