Применение фильтров Flash 8 используя ActionScript

Фильтры Flash 8, такие как blur (размытие), drop shadow (тень), и bevel, чрезвычайно легко применяются непосредственно на объекты во время разработки, но возможно, у вас появляется необходимость применять фильтры, используя ActionScript. Создание таких эффектов, используя ActionScript, не так очевидно и понятно с первого раза, как можно было бы подумать, но этот урок поможет вам с легкостью в этом разобраться.

Начнем с создания нового файла Fla, используя настройки по умолчанию: сцена — 550x400px, частота кадров — 20fps и цвет фона — белый.

Создайте черный круг без обводки, используя Oval Tool (O), размером около 50px в диаметре.

Используйте черную стрелку на панели инструментов, чтобы выбрать круг, один раз щелкнув на нём. Теперь нажмите F8 на вашей клавиатуре, чтобы преобразовать его в Символ, выберите Movie Clip и назвать ваш символ Circle MC.

В то время как movie clip с вашим кругом выделен, установите его свойство instance name используя панель свойств. Instance name необходимо для того, чтобы обращаться к объекту через код ActionScript. Введите в поле instance name имя circle_mc.

Теперь сцена готова к тому, чтобы мы начали програмировать фильтры для нашего клипа. Мы собираемся применять весь наш ActionScript код к кадрам а не к самому клипу непосредственно. Щелкните правой кнопкой мыши на единственном кадре на шкале времени ( timeline ) и выберите Actions, чтобы открыть панель ActionScript.
Немного теории

Свойство .filters отличается от других свойств тем, что это массив, в который вы добавляете все фильтры, котрыми вы собираетесь пользоваться. Проблема заключается в том, что вы не можете редактировать и изменять этот массив непосредственно. Вы должны будете создать временный массив, в который Вы будете добавлять необходимые фильтры и затем должны присвоить его свойству .filters

Чтобы применить фильтр к нашему свойству .filters, мы должны будем создать наш фильтр, используя указанный ниже конструктор. В этом примере, мы будем использовать фильтр Blur (размытие). Мы назовем наш фильтр myBlur.

1.
var myBlur = new flash.filters.BlurFilter() Flash.by-подсветка кода

Другие доступные фильтры - BevelFilter, BitmapFilter, ColorMatrixFilter, ConvolutionFilter, DisplacementMapFilter, DropShadowFilter, GlowFilter, GradientBevelFilter, и GradientGlowFilter. Если Вы желаете создать другой фильтр, например GlowFilter, то Вы будете иметь доступ к нему таким способом: flash.filters. GlowFilter.

Как я уже сказал, мы должны будем редактировать временный массив , который мы затем должны будем присвоить свойству .filters.
Создадим временный массив:

1.
var myTempFilters:Array = circle_mc.filters