Приближается зима. А значит снова станет популярным у поисковиков запрос «эффект падающего снега во флеш». О нём и поговорим... об эффекте, конечно.
Недавно на одном из варварских ресурсов встретил интересную библиотеку классов на ActionScript 3.0. Данная библиотека классов позволит всего двумя строчками кода встроить в ваш флеш-ролик очень красивый и реалистичный эффект падающего снега. Простота библиотеки позволяет её использовать не только программистам, но и аниматорам, которые с программированием на ActionScript 3.0 не знакомы. Немаловажная деталь - данная реализация эффекта утяжелит ваш проект всего на 5 - 6 кб..
По уже сложившейся традиции посмотрим, что же мы получим в итоге. А получим мы примерно следующее:
А теперь перейдём к описанию применения данной библиотеки в флеш-проектах.
Конечно, первым делом мы должны подключить саму библиотеку (она прилагается к исходнику, а ссылка на исходник в конце статьи)...
Код ActionScript 3.0:
import com.flashandmath.dg.display.SnowDisplay;
Второй и, одновременно, последний шаг состоит в том, что мы создаём экземпляр класса SnowDisplay и добавляем его на сцену нашего флеш-ролика.
Код ActionScript 3.0:
var snow:SnowDisplay = new SnowDisplay(550,400);
addChild(snow);
Здесь в качестве параметров у конструктора объектов указаны ширина (550) и высота (400) сцены, на которой нам надо визуализировать эффект падающего снега. Часто требуется данный эффект растянуть на всю ширину и высоту флеш-ролика. Это проще сделать следующим образом...
Код ActionScript 3.0:
var snow:SnowDisplay = new SnowDisplay(stage.stageWidth,stage.stageHeight);
addChild(snow);
Законченный вариант кода будет выглядеть примерно так...
Код ActionScript 3.0:
/*
подключаем библиотеку классов
*/
import com.flashandmath.dg.display.SnowDisplay;
/*
создаём объект класса SnowDisplay
*/
var snow:SnowDisplay = new SnowDisplay(stage.stageWidth,stage.stageHeight);
/*
добавляем объект на сцену
*/
addChild(snow);
Но, как я и обещал, всё можно сделать парой строчек кода...
Код ActionScript 3.0:
import com.flashandmath.dg.display.SnowDisplay;
addChild(new SnowDisplay(stage.stageWidth,stage.stageHeight));
На этом заканчивается краткое описание данной библиотеки. Но её возможности значительно шире: она имеет множество тонких настроек, которые позволяют адаптировать эффект под свои потребности и художественный вкус. Впрочем, не исключаю продолжения. А пока всё :-)
Исходник под Adobe Flash CS5.5 и саму библиотеку классов скачать можно тут.