Создание Flash-анимации с использованием AS2.0

В данном уроке я рассмотрю использование ActionScript 2.0 кода для создания анимации снегопада или листопада во FlashCS5. Нам потребуется заготовка (снежинка). Для этого добавим в библиотеку изображение снежинки, желательно использование .png расширения, т.к. данный тип файлов хорошо работает с прозрачностью (альфа каналом).

Итак, импортируем снежинку в наш проект, кликаем на ней правой кнопкой и преобразуем в класс объекта movieclip. Далее внутри данного класса создаем простейшую анимацию нашей снежинки. С 1 по 10 кадр задаем перемещение на определенное расстояние. Для этого создаем в 10 кадре ключевой кадр (F6) и изменяем положение нашей снежинки, можно также изменить угол ее разворота. Теперь выделяем область с 1 по 10 кадр в таймлайне и жмем на создание классической анимации (в данном случае программа сама просчитает промежуточные кадры, которые должны быть между положением 1-го кадра и 10-го).

После этих манипуляций заготовка снежинки у нас готова.Присвоим ей имя snow. Теперь нам необходимо ее клонировать и придать ей более естественные движения. Для этого мы будем использовать следующий код:

init = function () {
	width = 200;
	pixelsheight = 200;
	pixelsmax_snowsize = 5;
	pixelssnowflakes = 15;
	quantityfor (i=0; it = attachMovie("snow", "snow"+i, i){
		t._alpha = 20+Math.random()*60;
		t._x = -(width/2)+Math.random()*(1.5*width);
		t._y = -(height/2)+Math.random()*(1.5*height);
		t._xscale = t._yscale=50+Math.random()*(max_snowsize*10);
		t.k = 1+Math.random()*2;
		t.wind = -1.5+Math.random()*(1.4*3);
		t.onEnterFrame = mover;
	}
};

mover = function() {
	this._y += this.k;
	this._x += this.wind;
	if (this._y > height+10) {
		this._y = -20;
	}
	if (this._x>width+20) {
		this._x = -(width/2)+Math.random()*(1.5*width);
		this._y = -20;
	} else if (this._x < -20) {
		this._x = -(width/2)+Math.random()*(1.5*width);
		this._y = -20;
	}
};
init();

Необходимые параметры, которые можно редактировать:

width = 200; - Ширина видимой области
pixelsheight = 200; - Высота видимой области. Обычно это размеры флеш-ролика.
max_snowsize = 5; - Максимальный размер снежинки
snowflakes = 15; - Чем больше данный параметр, тем больше мы увидим снежинок на экране.

Остальные параметры нам не так важны, т.к. они отвечают за поведение снежинок, скорость перемещения, исчезновения, траекторию падения, но при желании с ними тоже можно поэкспериментировать для получения различных результатов.

Итак, данный код необходимо вставить в 1 кадр слоя, в котором у нас находится наш мувиклип с заготовкой в виде снежинки. Теперь можно проверять полученный результат, нажав на просмотр тестовой анимации. Отметим, что если использовать в качестве заготовки лист, вместо снежинки, то получим красивый листопад.

Комментировать
Обновить проверочный код