Пакет | mx.effects |
Класс | public class EffectTargetFilter |
Наследование | EffectTargetFilter Object |
Подклассы | AddRemoveEffectTargetFilter, HideShowEffectTargetFilter |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Класс EffectTargetFilter содержит метод defaultFilterFunction()
, использующий свойства filterProperties
и filterStyles
для определения необходимости воспроизведения эффекта в каждом целевом объекте эффекта.
Для реализации собственной логики фильтрации можно также определить пользовательскую функцию фильтрации. Для этого следует определить функцию фильтрации, а затем указать эту функцию в объекте EffectTargetFilter с помощью свойства filterFunction
.
Для настройки эффекта на использование пользовательского фильтра необходимо передать объект EffectTargetFilter в свойство Effect.customFilter
эффекта.
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
filterFunction : Function
Функция, определяющая пользовательскую логику фильтрации. | EffectTargetFilter | ||
filterProperties : Array
Массив строк, определяющий свойства компонента. | EffectTargetFilter | ||
filterStyles : Array
Массив строк, определяющий свойства стиля. | EffectTargetFilter | ||
requiredSemantics : Object = null
Совокупность свойств и соответствующих значений, которые должны быть связаны с целевым объектом воспроизводимого эффекта. | EffectTargetFilter |
Метод | Определено | ||
---|---|---|---|
Конструктор. | EffectTargetFilter | ||
filterInstance(propChanges:Array, semanticsProvider:mx.effects:IEffectTargetHost, target:Object):Boolean
Определяет необходимость фильтрации целевого объекта; возвращает true, если целевой объект должен быть включен в эффект. | EffectTargetFilter | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object |
Метод | Определено | ||
---|---|---|---|
Функция фильтрации по умолчанию для класса EffectTargetFilter. | EffectTargetFilter |
filterFunction | свойство |
public var filterFunction:Function
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Функция, определяющая пользовательскую логику фильтрации. Flex вызывает этот метод для каждого целевого объекта эффекта. Если функция возвращает true
, для целевого объекта воспроизводится эффект; если она возвращает false
, целевой объект пропускается. Пользовательская функция фильтрации предоставляет больше возможностей для управления фильтрацией, чем свойство Effect.filter
.
Функция фильтрации имеет следующую подпись:
filterFunc(propChanges:Array, instanceTarget:Object):Boolean { // Return true to play the effect on instanceTarget, // or false to not play the effect. }
где:
propChanges
– массив объектов PropertyChanges, по одному объекту на каждый целевой компонент эффекта. Если свойство целевого объекта при переходе не изменяется, соответствующий объект в этот массив не включается.
instanceTarget
– определенный целевой компонент эффекта, который требуется отфильтровать. В пользовательской функции фильтрации сначала в массиве propChanges
осуществляется поиск объекта PropertyChanges, соответствующего аргументу instanceTarget
, путем сравнения аргумента instanceTarget
со свойством propChanges.target
.
Связанные элементы API
filterProperties | свойство |
public var filterProperties:Array
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Массив строк, определяющий свойства компонента. Если какое-либо из указанных в массиве свойств в целевом компоненте изменяется, воспроизводится эффект для целевого объекта.
Если определена пользовательская функция фильтрации, свойство filterProperties
можно проанализировать в этой функции.
filterStyles | свойство |
public var filterStyles:Array
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Массив строк, определяющий свойства стиля. Если какое-либо из указанных в массиве свойств стиля в целевом компоненте изменяется, воспроизводится эффект для целевого объекта.
Если определена пользовательская функция фильтрации, свойство filterStyles
можно проанализировать в этой функции.
requiredSemantics | свойство |
public var requiredSemantics:Object = null
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Совокупность свойств и соответствующих значений, которые должны быть связаны с целевым объектом воспроизводимого эффекта.
При работе с эффектами данных это свойство можно использовать для фильтрации эффектов. Если требуется воспроизвести эффект данных для всех целевых объектов из элемента управления list, не добавляемых эффектом, т. е. целевых объектов, удаляемых, замещаемых, перемещаемых или обрабатываемых любым другим способом, можно создать описание эффекта следующим образом:
<mx:Blur> <mx:customFilter> <mx:EffectTargetFilter requiredSemantics="{{'added':false}}"/> </mx:customFilter> </mx:Blur>
Для воспроизведения эффекта данных для всех целевых объектов, не добавляемых или удаляемых эффектом, можно создать определение эффекта следующим образом:
<mx:Blur> <mx:customFilter> <mx:EffectTargetFilter requiredSemantics="{{'added':false}, {'removed':false}}"/> </mx:customFilter> </mx:Blur>
В список допустимых для определения свойств входят свойства added
, removed
, replaced
и replacement
. Допустимыми значениями для свойств являются true
и false
.
EffectTargetFilter | () | Конструктор |
public function EffectTargetFilter()
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Конструктор.
defaultFilterFunction | () | метод |
protected function defaultFilterFunction(propChanges:Array, instanceTarget:Object):Boolean
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Функция фильтрации по умолчанию для класса EffectTargetFilter. Если instanceTarget
имеет разные начальное и конечное значения для любого из значений, указанных в свойствах filterProperties
или filterStyles
, эффект для цели воспроизводится.
Параметры
propChanges:Array — Массив объектов PropertyChanges. Свойство target каждого объекта PropertyChanges соответствует целевой объект эффекта. Если свойство целевого объекта не изменяется при переходе, соответствующий объект PropertyChanges не включается в этот массив.
| |
instanceTarget:Object — Целевой объект экземпляра EffectInstance, вызывающего данную функцию. Если у эффекта имеется несколько целевых объектов, эта функция вызывается для каждого целевого объекта.
|
Boolean — Возвращает значение true для разрешения воспроизведения экземпляра эффекта.
|
Связанные элементы API
filterInstance | () | метод |
public function filterInstance(propChanges:Array, semanticsProvider:mx.effects:IEffectTargetHost, target:Object):Boolean
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Определяет необходимость фильтрации целевого объекта; возвращает true, если целевой объект должен быть включен в эффект. Определение выполняется путем вызова функций filterFunction и semanticFilterFunction с возвратом true в том и только в том случае, если обе эти функции возвращают true. Функции по умолчанию со значениями по умолчанию всегда возвращают true. Как правило, EffectTargetFilter использует один из двух типов фильтра, но не оба.
Параметры
propChanges:Array — Массив объектов PropertyChanges. Свойство target каждого объекта PropertyChanges соответствует целевому объекту эффекта. Если свойство целевого объекта не изменяется при переходе, соответствующий объект PropertyChanges не включается в этот массив.
| |
semanticsProvider:mx.effects:IEffectTargetHost — IEffectTargetHost используется для анализа свойств, указанных в requiredSemantics для целевого объекта, как правило, это effectTargetHost эффекта. Для эффектов изменения элементов, когда целевыми объектами эффекта являются средства визуализации элементов, это список List или TileList, содержащий средства визуализации элементов.
| |
target:Object — Целевой объект экземпляра EffectInstance, вызывающего данную функцию. Если у эффекта имеется несколько целевых объектов, эта функция вызывается для каждого целевого объекта.
|
Boolean — Возвращает true , если целевой объект должен быть включен в эффект; в противном случае возвращается false .
|
Tue Jun 12 2018, 11:34 AM Z