Ефект вибуху для флеш-проекту
ефект вибуху досить часто використовується в флеш-іграх. І, природно, флешери вироблено багато способів створення цього ефекту. Хтось вважає за краще малювати вибух у вигляді MovieClip -а, хтось імітує вибух за допомогою різних алгоритмів на ActionScript, а є і ті, хто комбінує ці способи (наприклад малюють частки, а потім анімуйте їх за допомогою коду). Я не буду оригінальним і виберу перший шлях. Але малювати нам нічого не доведеться. За нас все намалює спеціальний генератор ефекту вибуху - програма Explogen .
Інтерфейс Explogen простий і інтуїтивно зрозумілий. Є ряд налаштувань анімації вибуху, частинок, настройки кольору. На жаль, прозорий фон не підтримується і, можливо, вам доведеться потім виправити цей недолік в іншому растровому редакторі. Всі внесені зміни можна відразу ж переглянути у вікні попереднього перегляду.
Якщо ефект вас влаштовує, то натискайте кнопку Export і результат буде збережений програмою у вигляді набору графічних файлів з розширенням bmp. Зверніть увагу, що файли будуть збережені в ту ж папку, де знаходиться і сама програма. Кожна картинка буде відповідати окремому кадру ефекту. Картинки пронумеровані в тій послідовності, в якій вони утворюють анімацію вибуху. Приклад такого окремого зображення ви можете бачити нижче.
Якщо вас все влаштовує, то скачати програму можна з kenginegaming.com або з файлообмінника на народі по цієї засланні.
Як це можна застосувати в Flash?
Я робив наступне:
- імпортував згенерувала в Explogen послідовність зображень в флеш-редактор (це може бути і Macromedia Flash, і Adobe Flash - в даному випадку це маловажно);
- створював MovieClip з точкою реєстрації посередині (!);
- в даний MovieClip на кожен кадр поміщав імпортовані раніше зображення відповідно до порядку нумерування даних зображень, а потім вирівнював ці зображення по центру мувіка.
Таким чином у мене виходив мувікліп з анімацією вибуху на його часовій шкалі. Наприклад, такий:
На мою суб'єктивну думку, вийшло не так вже й погано ...
Наш мувик з анімацією ефекту вибуху ми, як і будь-який інший мувик, можемо додавати в наші проекти динамічно. Для прикладу зробимо додаток, в якому ефект вибуху виникатиме під час кожного кліка по сцені флеш-ролика, а координати центру вибуху будуть відповідати координатам курсора мишки.
Код 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 CS5.5 скачати можна тут .