mx.effects
Classpublic class EffectTargetFilter
继承EffectTargetFilter Inheritance Object

EffectTargetFilter 类定义每个效果目标上的每个过渡效果执行的自定义滤镜。

EffectTargetFilter 类定义使用 filterPropertiesfilterStyles 属性的 defaultFilterFunction() 方法以确定是否在每个效果目标上播放效果。

您还可以定义自定义滤镜函数来实现自己的过滤逻辑。为此,定义滤镜函数,然后使用 filterFunction 属性将该函数指定给 EffectTargetFilter 对象。

要配置效果以使用自定义滤镜,可将 EffectTargetFilter 对象传递到效果的 Effect.customFilter 属性。



公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  filterFunction : Function
定义自定义滤镜逻辑的函数。
EffectTargetFilter
  filterProperties : Array
指定组件属性的字符串 Array。
EffectTargetFilter
  filterStyles : Array
指定样式属性的字符串 Array。
EffectTargetFilter
 Inheritedprototype : Object
[] 对类或函数对象的原型对象的引用。
Object
  requiredSemantics : Object = null
必须与要播放的效果目标相关联的属性和关联值的集合。
EffectTargetFilter
公共方法
 方法定义方
  
构造函数。
EffectTargetFilter
  
filterInstance(propChanges:Array, semanticsProvider:IEffectTargetHost, target:Object):Boolean
确定是否应该过滤目标,如果该目标应包含在效果中,则返回 true。
EffectTargetFilter
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
受保护的方法
 方法定义方
  
defaultFilterFunction(propChanges:Array, instanceTarget:Object):Boolean
EffectTargetFilter 类的默认滤镜函数。
EffectTargetFilter
属性详细信息
filterFunction属性
public var filterFunction:Function

定义自定义滤镜逻辑的函数。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 对象的 Array,每个目标效果组件一个对象。如果过渡未修改目标的属性,则该属性不包括在此 Array 中。

instanceTarget — 要过滤的效果的特定目标组件。在自定义滤镜函数中,首先通过将 instanceTarget 参数比作 propChanges.target 属性来搜索 propChanges Array 以获得与 instanceTarget 参数相匹配的 PropertyChanges 对象。

另请参见

filterProperties属性 
public var filterProperties:Array

指定组件属性的字符串 Array。如果目标组件上 Array 中的任一属性发生更改,则在目标上播放效果。

如果定义自定义滤镜函数,则您可以在自己的函数中检查 filterProperties 属性。

filterStyles属性 
public var filterStyles:Array

指定样式属性的字符串 Array。如果目标组件上 Array 中的任一样式属性发生更改,则在目标上播放效果。

如果定义自定义滤镜函数,则您可以在自己的函数中检查 filterStyles 属性。

requiredSemantics属性 
public var requiredSemantics:Object = null

必须与要播放的效果目标相关联的属性和关联值的集合。

使用数据效果时,您可以使用此属性过滤效果。如果希望在不是由效果添加的 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>

您可以指定的允许的属性列表包括 addedremovedreplacedreplacement。属性的允许值是 truefalse

构造函数详细信息
EffectTargetFilter()构造函数
public function EffectTargetFilter()

构造函数。

方法详细信息
defaultFilterFunction()方法
protected function defaultFilterFunction(propChanges:Array, instanceTarget:Object):Boolean

EffectTargetFilter 类的默认滤镜函数。如果 instanceTarget 对于 filterPropertiesfilterStyles 属性指定的任意值包含不同的开始值和结束值,则在目标上播放效果。

参数

propChanges:Array — PropertyChanges 对象的 Array。每个 PropertyChanges 对象的 target 属性等同于效果的目标。如果效果目标的属性没有更改,则该效果目标不会包括在此 Array 中。
 
instanceTarget:Object — 调用此函数的 EffectInstance 的目标。如果效果包含多个目标,则每个目标调用此函数一次。

返回
Boolean — 返回 true 以允许播放效果实例。

另请参见

filterInstance()方法 
public function filterInstance(propChanges:Array, semanticsProvider:IEffectTargetHost, target:Object):Boolean

确定是否应该过滤目标,如果该目标应包含在效果中,则返回 true。通过调用 filterFunction 和 semanticFilterFunction 确定是否应该过滤目标,当且仅当这两个函数都返回 true 时才返回 true。包含默认值的默认函数始终返回 true。通常,EffectTargetFilter 使用某一种类型的滤镜或其他类型的滤镜,但不同时使用两种滤镜。

参数

propChanges:Array
 
semanticsProvider:IEffectTargetHost
 
target:Object

返回
Boolean




 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flex/3_cn/mx/effects/EffectTargetFilter.html