Главная / Action Script 3
Пакетflash.filters
Классpublic final class DropShadowFilter
НаследованиеDropShadowFilter Inheritance BitmapFilter Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Класс DropShadowFilter позволяет добавить эффект падающей тени к отображаемым объектам. Алгоритм теней основан на том же блоковом фильтре, который используется в фильтре размытия. При формировании отбрасываемой тени существует несколько вариантов выбора ее стиля, включая внешнюю или внутреннюю тень и режим выбивки. Фильтр можно применять к любому визуализируемому объекту (т.е. объекту, наследуемому от класса DisplayObject), например MovieClip, SimpleButton, TextField, Video, а также объектам BitmapData.

Выбор фильтра зависит от объекта, к которому требуется его применить:

При применении фильтра к визуализируемому объекту свойство cacheAsBitmap этого объекта принимает значение true. Если удалить все фильтры, будет восстановлено исходное значение cacheAsBitmap.

Этот фильтр поддерживает масштабирование сцены. Тем не менее, он не поддерживает общее масштабирование, повороты и искажение. Если сам объект увеличен или уменьшен (т.е. если свойства scaleX и scaleY принимают значение, отличное от 1,0), фильтр не масштабируется. Он масштабируется, только когда пользователь применяет увеличение к самой сцене.

Невозможно применить фильтр к изображениям, если их получившаяся длина или ширина превышает 2880 пикселов. Например, при масштабировании большого фрагмента ролика, к которому применен фильтр, фильтр будет снят, если получившееся изображение окажется более 2880 пикселов в длину или в ширину.

Посмотреть примеры

См. также

flash.display.BitmapData.applyFilter()
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap


Общедоступные свойства
 СвойствоОпределено
  alpha : Number
Значение альфа-прозрачности для цвета тени.
DropShadowFilter
  angle : Number
Угол тени.
DropShadowFilter
  blurX : Number
Степень размытия по горизонтали.
DropShadowFilter
  blurY : Number
Степень размытия по вертикали.
DropShadowFilter
  color : uint
Цвет тени.
DropShadowFilter
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  distance : Number
Расстояние смещения для тени (в пикселах).
DropShadowFilter
  hideObject : Boolean
Определяет, является ли объект скрытым.
DropShadowFilter
  inner : Boolean
Определяет, является ли тень внутренней тенью.
DropShadowFilter
  knockout : Boolean
Применяет эффект выбивки (true), который фактически делает заливку объекта прозрачной и выявляет цвет фона документа.
DropShadowFilter
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
  quality : int
Заданное число применений фильтра.
DropShadowFilter
  strength : Number
Степень вдавливания или растискивания.
DropShadowFilter
Общедоступные методы
 МетодОпределено
  
DropShadowFilter(distance:Number = 4.0, angle:Number = 45, color:uint = 0, alpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1.0, quality:int = 1, inner:Boolean = false, knockout:Boolean = false, hideObject:Boolean = false)
Инициализирует новый экземпляр DropShadowFilter с заданными параметрами.
DropShadowFilter
  
Возвращает копию данного объекта фильтра.
DropShadowFilter
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве
alphaсвойство
alpha:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Значение альфа-прозрачности для цвета тени. Действительны значения от 0,0 до 1,0. Например, значение 0,25 задает 25-процентную прозрачность. Значение по умолчанию 1.0.



Реализация
    public function get alpha():Number
    public function set alpha(value:Number):void
angleсвойство 
angle:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Угол тени. Действительны значения от 0 до 360 градусов (плавающая точка). Значение по умолчанию 45.



Реализация
    public function get angle():Number
    public function set angle(value:Number):void
blurXсвойство 
blurX:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Степень размытия по горизонтали. Действительны значения от 0 до 255 (плавающая точка). Значение по умолчанию 4.0.



Реализация
    public function get blurX():Number
    public function set blurX(value:Number):void
blurYсвойство 
blurY:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Степень размытия по вертикали. Действительны значения от 0 до 255 (плавающая точка). Значение по умолчанию 4.0.



Реализация
    public function get blurY():Number
    public function set blurY(value:Number):void
colorсвойство 
color:uint  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Цвет тени. Действительны значения в шестнадцатеричном формате 0xRRGGBB. Значение по умолчанию — 0x000000.



Реализация
    public function get color():uint
    public function set color(value:uint):void
distanceсвойство 
distance:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Расстояние смещения для тени (в пикселах). Значение по умолчанию — 4,0 (плавающая точка).



Реализация
    public function get distance():Number
    public function set distance(value:Number):void
hideObjectсвойство 
hideObject:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Определяет, является ли объект скрытым. Значение true указывает на то, что сам объект не нарисован, видна только его день. Значение по умолчанию — false (объект отображается).



Реализация
    public function get hideObject():Boolean
    public function set hideObject(value:Boolean):void
innerсвойство 
inner:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Определяет, является ли тень внутренней тенью. Значение true указывает на наличие внутренней тени. Значение по умолчанию false задает внешнюю тень (тень вокруг внешнего контура объекта).



Реализация
    public function get inner():Boolean
    public function set inner(value:Boolean):void
knockoutсвойство 
knockout:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Применяет эффект выбивки (true), который фактически делает заливку объекта прозрачной и выявляет цвет фона документа. Значение по умолчанию — false (без выбивки).



Реализация
    public function get knockout():Boolean
    public function set knockout(value:Boolean):void
qualityсвойство 
quality:int  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Заданное число применений фильтра. Значение по умолчанию — BitmapFilterQuality.LOW, что эквивалентно однократному применению фильтра. Значение BitmapFilterQuality.MEDIUM применяет фильтр дважды; значение BitmapFilterQuality.HIGH — трижды. Фильтры с более низкими значениями выполняются быстрее.

Для большинства приложений достаточно значений качества "low" ("низкое"), "medium" ("среднее") или "high" ("высокое"). Хотя можно использовать дополнительные числовые значения до 15 для получения разнообразных эффектов, более высокие значения выполняются дольше. Вместо увеличения значения quality можно просто увеличить значения свойств blurX и blurY. Это даст похожий эффект, а выполнение будет происходить быстрее.



Реализация
    public function get quality():int
    public function set quality(value:int):void

См. также

strengthсвойство 
strength:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Степень вдавливания или растискивания. Чем выше значение, тем более насыщен цвет тени и тем сильнее контраст между тенью и фоном. Действительны значения от 0 до 255,0. Значение по умолчанию — 1,0.



Реализация
    public function get strength():Number
    public function set strength(value:Number):void
Сведения о конструкторе
DropShadowFilter()Конструктор
public function DropShadowFilter(distance:Number = 4.0, angle:Number = 45, color:uint = 0, alpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1.0, quality:int = 1, inner:Boolean = false, knockout:Boolean = false, hideObject:Boolean = false)

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Инициализирует новый экземпляр DropShadowFilter с заданными параметрами.

Параметры
distance:Number (default = 4.0) — Расстояние смещения для тени (в пикселах).
 
angle:Number (default = 45) — Угол падения тени, от 0 до 360 (плавающая точка).
 
color:uint (default = 0) — Цвет тени в шестнадцатеричном формате 0xRRGGBB. Значение по умолчанию — 0x000000.
 
alpha:Number (default = 1.0) — Значение альфа-прозрачности для цвета тени. Действительны значения от 0,0 до 1,0. Например, значение 0,25 задает 25-процентную прозрачность.
 
blurX:Number (default = 4.0) — Степень размытия по горизонтали. Действительны значения от 0 до 255 (плавающая точка).
 
blurY:Number (default = 4.0) — Степень размытия по вертикали. Действительны значения от 0 до 255 (плавающая точка).
 
strength:Number (default = 1.0) — Степень вдавливания или растискивания. Чем выше значение, тем более насыщен цвет тени и тем сильнее контраст между тенью и фоном. Действительны значения от 0 до 255.
 
quality:int (default = 1) — Заданное число применений фильтра. Используйте константы BitmapFilterQuality:
  • BitmapFilterQuality.LOW
  • BitmapFilterQuality.MEDIUM
  • BitmapFilterQuality.HIGH

Дополнительные сведения об этих значениях см. в описании свойства quality.

 
inner:Boolean (default = false) — Определяет, является ли тень внутренней тенью. Значение true задает внутреннюю тень. Значение false задает внешнюю тень (тень вокруг внешнего контура объекта).
 
knockout:Boolean (default = false) — Применяет эффект выбивки (true), который фактически делает заливку объекта прозрачной и выявляет цвет фона документа.
 
hideObject:Boolean (default = false) — Определяет, является ли объект скрытым. Значение true указывает на то, что сам объект не нарисован, видна только его день.

См. также

Сведения о методе
clone()метод
override public function clone():BitmapFilter

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает копию данного объекта фильтра.

Возвращает
BitmapFilter — Новый экземпляр DropShadowFilter со всеми свойствами оригинального экземпляра DropShadowFilter.
Примеры Как пользоваться примерами
DropShadowFilterExample.as

Код, представленный в следующем примере, рисует желтый квадрат и применяет к нему эффект отбрасываемой тени. В общих чертах последовательность действий в этом примере такова:
  1. Задаются три свойства, которые используются для отрисовки квадрата, к которому применяется фильтр.
  2. Создается функция конструктора. Конструктор вызывает метод draw(), использующий методы класса Graphics, полученные через свойство graphics спрайта для рисования оранжевого квадрата.
  3. В конструкторе задается переменная filter в виде объекта BitmapFilter и назначается возвращаемому значению вызова метода getBitmapFilter(). Метод getBitmapFilter() определяет используемый фильтр теней.
  4. Создается новый объект массива myFilters, и к массиву добавляется фильтр filter. Массив myFilters назначается свойству filtersобъекта DropShadowFilterExample. В результате применяются все фильтры, обнаруженные в myFilters. В нашем случае это только один фильтр filter.

package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.filters.BitmapFilter;
    import flash.filters.BitmapFilterQuality;
    import flash.filters.DropShadowFilter;

    public class DropShadowFilterExample extends Sprite {
        private var bgColor:uint = 0xFFCC00;
        private var size:uint    = 80;
        private var offset:uint  = 50;

        public function DropShadowFilterExample() {
            draw();
            var filter:BitmapFilter = getBitmapFilter();
            var myFilters:Array = new Array();
            myFilters.push(filter);
            filters = myFilters;
        }

        private function getBitmapFilter():BitmapFilter {
            var color:Number = 0x000000;
            var angle:Number = 45;
            var alpha:Number = 0.8;
            var blurX:Number = 8;
            var blurY:Number = 8;
            var distance:Number = 15;
            var strength:Number = 0.65;
            var inner:Boolean = false;
            var knockout:Boolean = false;
            var quality:Number = BitmapFilterQuality.HIGH;
            return new DropShadowFilter(distance,
                                        angle,
                                        color,
                                        alpha,
                                        blurX,
                                        blurY,
                                        strength,
                                        quality,
                                        inner,
                                        knockout);
        }

        private function draw():void {
            graphics.beginFill(bgColor);
            graphics.drawRect(offset, offset, size, size);
            graphics.endFill();
        }
    }
}