Flash взрыв на as3.
8.01.10 / Категории Flash, Wordpress | Комментарий 5Создадим новый Fla документ.
Жмем Ctrl+f8 создаем новый символ, имя символа Explosion, type movie clip, ставим галку Export for Actionscript 3.0 (Активируется поле class, убедитесь что там стоит имя Explosion, если вы назвали клип Explosion, то класс автоматом примет такое же имя)

Двойной клик на наш movie clip в библиотеке. Ctrl+l откроет окно библиотеки.

Создадим 2 слоя
На слое рисуем небольшой чёрный круг, жмем на 5 кадр на 1 слое создаем ключевой кадр и создаем motion tween (правый клик мышкой и create motion tween). На 5 кадре кликаем на наш чорный кружок и жмем Free transfor tool (кнопка q). Тянем за правый верхний угол по диагонали и делаем круг больше диаметром. потом жмем на selection tool (кнопка v) открываем панель properties (ctrl+f3) и выбираем в селекте Color Brightness указываем значение 89%.

Отключим видимость 1 слоя, для удобства рисования на втором.
Кликаем на 1 кадр 2 слоя, рисуем круг поменьше того который был в 1 кадре 1 слоя, пусть он будет красным. Кликаем на него selection tool и в properties указываем color -> brightness -> -99%.

Кликаем на 5 кадре 2 слоя, создаем ключевой кадр, создаем motion tween, и выбираем наш кружок на 5 кадре 2 слоя, оттягиваем его в сторону, и устанавливаем на properties w=1, h=1, color->alpha->0%.

Возвращаемся к нашей главной сцене, кликаем на 1 кадре и нажимаем f9, появилось окно actions вписываем туда следующий код.
В данном примере я решил просто зациклить функцию. Вы можете добавить click или keypress события сами.
stage.addEventListener(Event.ENTER_FRAME, StageController); function StageController(e:Event):void { // случайное генерирование координат появления взрыва. var mmx = Math.random() * 300; var mmy = Math.random() * 300; explose(mmx,mmy); } function explose(mmx,mmy):void { // количество частичек var о = 20; while (о--) { // для каждой частички создаем новый клип, экземпляр которого мы создали. var explosion:Explosion = new Explosion(); // добавляем на сцену addChild(explosion); // вращаем частицу чтобы каждая улетала в разные стороны. explosion.rotation = Math.random() * 360; //смещение частиц explosion.scaleX = explosion.scaleY = Math.random() + 1; // задаем координаты клипу explosion.x = mmx; explosion.y = mmy; } }
Вот исходник explosion
Если у вас что-то не получается пишите комментарии, помогу разобраться.



Здравствуйте,
вот уже не первый раз вижу Math.random()*1. И в связи с этим – не могу не поинтересоваться – а зачем на единичку умножать? Это что-то меняет?
P.S. Это не сарказм. Мне интересно правда – может flash тогда как-то по другому себя ведет?
Знаете.. помоему я ошибся, и все те кто так пишут.
Видимо поздно было, когда я писал это. Число при умножении на единицу получит само себя, значит смысла нет. +1 надо вместо Math.random()*1+1.
это взрыв на AS2! Будьте бдительны
Ну напишите почему на as2? As3 .. я уже давно это писал, но проверил зашел специально.