Реалистичный эффект падающего снега на ActionScript 3.0

Приближается зима. А значит снова станет популярным у поисковиков запрос «эффект падающего снега во флеш». О нём и поговорим... об эффекте, конечно.

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

По уже сложившейся традиции посмотрим, что же мы получим в итоге. А получим мы примерно следующее:

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

А теперь перейдём к описанию применения данной библиотеки в флеш-проектах.

Конечно, первым делом мы должны подключить саму библиотеку (она прилагается к исходнику, а ссылка на исходник в конце статьи)...

Код 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 и саму библиотеку классов скачать можно тут.

Автор: admin

Дата добавления: 2011-11-04

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

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

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

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): Марина
Дата добавления: 2015-11-10
Спасибо. Все получилось
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2015-11-09
Если мой исходник у вас работает, то всё просто: положите папку com из моего исходника в одну папку с вашим fla-исходником.
Комментатор
Комментарий добавил(а): Марина
Дата добавления: 2015-11-09
Здравствуйте. Очень нравятся ваши уроки.
Подскажите, пожалуйста, как правильно подключить саму библиотеку ту что прилагается в вашем архиве. Уже все перепробовала, не получается. У меня Adobe Flash Pro CC. Ваш исходник в нем открывается и все работает. А самой сделать не получается ...Спасибо
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2013-12-06
> Но если долго не обновлять страничку снег нагапливается

Долго смотрел, но у меня снег не накапливался. Есть, правда одна догадка: возможно, у вас SnowDisplay создаётся не один раз (как в моём примере), а много-много раз. Например, ваш флеш-ролик зациклен и каждый раз, проходя через кадр с кодом, создаёт новый SnowDisplay. В этом случае проблемы неизбежны.
Комментатор
Комментарий добавил(а): Тина
Дата добавления: 2013-12-05
у меня такая же проблема.
waitCount = 10;
particlesToAddEachFrame = 1;
Но если долго не обновлять страничку снег нагапливается
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2012-12-20
У вас, скорее всего, просто виснет флешка из-за запредельного количества снежинок. Поиграйте с настройками, но обязательно сократите количество снежинок. О настройке данной библиотеки читайте тута - http://edapskov.ru/pages.php?id=76
Комментатор
Комментарий добавил(а): Игорь
Дата добавления: 2012-12-20
Как сделать чтоб не накапливался снег? вот мой пример http://berux1.ucoz.ru Если долго не обновлять страницу, то получается "пурга".
Добавить комментарий:







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

Идиот-тест

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

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