Статьи

Класс генератора динамического отражения для AS3

По горячим следам нашего Quick Alpha Reflections Quick Tip поставляется этот превосходный служебный класс для динамического отражения ваших экранных объектов, предоставленный Мартином Кристовым .




Шаг 1:

Скопируйте файл ReflectEffect.as в classpath вашего проекта Flash (или в ту же директорию, что и FLA, если вы не используете classpath).

Шаг 2:

В своем коде создайте новый экземпляр класса ReflectEffect, передав ему экранный объект, который вы хотите, чтобы он отражал, следующим образом:

1
var reflect:ReflectEffect = new ReflectEffect(movieClipToReflect);

Шаг 3:

Создайте новую переменную для вашего отраженного объекта и добавьте ее на сцену (или где угодно):

1
2
3
var reflectedDown:Bitmap = reflect.down(length, fade, offset, blur, alpha);
reflectedDown.y = movieClipToReflect.y + movieClipToReflect.height;
addChild( reflectedDown );

Функцииlect.down (), refle.up (), refle.left () и refle.right () вернут растровое изображение вашего объекта, отраженное в этом направлении. (Требуется только параметр «length», остальные являются необязательными.) Как видите, у вас есть несколько интересных опций.

Я думаю, что «длина» ясна. Итак, давайте посмотрим на «исчезать». Например, если вы установите 40 для длины и 30 для затухания, отражение будет заканчиваться на 10 пикселей за фактическим отражением. Или, если вы хотите, вы можете установить 40 для длины и 50 для затухания. Это заставит отражение перейти от альфа 1,0 к приблизительно 0,2.

Следующее очень интересно: «смещение». Это в основном перемещает ваше отражение вверх / вниз (или влево / вправо) внутри вывода растрового изображения. Я использую эту опцию в предварительном просмотре, чтобы вы могли перемещать объект и видеть эффект, подобный Mac.

Последние два параметра, «размытие» и «альфа», довольно понятны — посмотрите на комментарии в классе для получения дополнительной информации!

Наслаждайтесь, и дайте нам знать, как вы используете этот класс 🙂