包 | mx.effects |
接口 | public interface IEffect extends IAbstractEffect , IEventDispatcher |
实现器 | Effect |
另请参见
属性 | 定义方 | ||
---|---|---|---|
className : String [只读 (read-only)] 效果类的名称,如“Fade”。 | IEffect | ||
customFilter : EffectTargetFilter 指定一个 EffectTargetFilter 类型的自定义滤镜对象,效果将使用此对象来确定播放效果的目标。 | IEffect | ||
duration : Number 效果的持续时间(以毫秒为单位)。 | IEffect | ||
effectTargetHost : IEffectTargetHost 一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。 | IEffect | ||
filter : String 指定用于过滤效果目标的算法。 | IEffect | ||
hideFocusRing : Boolean 确定在开始播放效果时,效果是否应隐藏对焦环。 | IEffect | ||
isPlaying : Boolean [只读 (read-only)] 一个只读标志,如果当前正在播放效果的任一实例,则为 true;否则,则为 false。 | IEffect | ||
perElementOffset : Number 在效果的第一个目标之后,其它效果目标的附加延迟(以毫秒为单位)。 | IEffect | ||
relevantProperties : Array 一个属性名称 Array,执行过滤时将使用这些名称。 | IEffect | ||
relevantStyles : Array 一个样式名称 Array,执行过滤时将使用这些名称。 | IEffect | ||
target : Object 要应用此效果的 UIComponent 对象。 | IEffect | ||
targets : Array 一个 UIComponent 对象 Array,这些对象都是效果的目标。 | IEffect | ||
triggerEvent : Event 如果触发了某个效果,则此项目是由 EffectManager 传递给此 Effect 的 Event 对象;如果 EffectManager 当前没有播放此效果,则为 null。 | IEffect |
方法 | 定义方 | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | IEventDispatcher | ||
捕获效果目标上相关属性的当前值,并将这些值另存为结束值。 | IEffect | ||
捕获另一组目标相关属性的当前值。在运行数据更改效果时,此函数由 Flex 使用。 | IEffect | ||
捕获效果目标上相关属性的当前值。 | IEffect | ||
创建一个效果实例并对其进行初始化。 | IEffect | ||
获取一个目标对象 Array,并对每个目标调用 createInstance() 方法。 | IEffect | ||
删除实例中的事件侦听器,然后从实例列表中删除该实例。 | IEffect | ||
将事件调度到事件流中。 | IEventDispatcher | ||
中断当前正在播放的效果,立即跳转到该效果的末尾。 | IEffect | ||
返回一个字符串 Array,其中每个 String 都是被此效果更改的属性名称。 | IEffect | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | IEventDispatcher | ||
暂停效果,直到调用 resume() 方法。 | IEffect | ||
开始播放效果。 | IEffect | ||
从 EventDispatcher 对象中删除侦听器。 | IEventDispatcher | ||
在效果由 pause() 方法暂停后继续播放效果。 | IEffect | ||
逆序播放效果;如果当前正在播放效果,则从该效果的当前位置开始逆序播放。 | IEffect | ||
停止播放效果,使效果目标保持当前状态。 | IEffect | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | IEventDispatcher |
className | 属性 |
className:String
[只读 (read-only)]
效果类的名称,如 "Fade"
。
这是一个短类名称或 unqualified 类名称,不包含包名称。如果需要限定名称,可使用 flash.utils 包中的 getQualifiedClassName()
方法。
public function get className():String
customFilter | 属性 |
customFilter:EffectTargetFilter
[读写] 指定一个 EffectTargetFilter 类型的自定义滤镜对象,效果将使用此对象来确定播放效果的目标。
只有在播放效果之前调用 captureStartValues()
方法时,才执行目标过滤。Flex 会在转移效果过程中自动调用 captureStartValues()
方法。
使用 filter
属性可实现简单过滤。如果 customFilter
属性值非空,则会忽略 filter
属性。
默认值为 null.
public function get customFilter():EffectTargetFilter
public function set customFilter(value:EffectTargetFilter):void
另请参见
duration | 属性 |
duration:Number
[读写] 效果的持续时间(以毫秒为单位)。
在 Parallel 或 Sequence 效果中,可通过 duration
属性设置每种效果的持续时间。例如,如果 Sequence 效果的 duration
属性设置为 3000,则 Sequence 中的每个效果都会播放 3000 毫秒。
对于重复播放的效果来说,duration
属性将指定效果各个实例的持续时间。因此,如果某个效果的 duration
属性设置为 2000,并且 repeatCount
属性设置为 3,则播放此效果共需要 6000 毫秒(6 秒)。
默认值为 500.
public function get duration():Number
public function set duration(value:Number):void
effectTargetHost | 属性 |
effectTargetHost:IEffectTargetHost
[读写] 一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。通过设置此属性,效果类的实例将能够访问播放此效果的基于列表的控件。
public function get effectTargetHost():IEffectTargetHost
public function set effectTargetHost(value:IEffectTargetHost):void
filter | 属性 |
filter:String
[读写]
指定用于过滤效果目标的算法。如果此值为 null
,将指定不进行任何过滤。
只有在播放效果之前调用 captureStartValues()
方法时,才执行目标过滤。当转移过程或基于列表的控件的数据效果中需使用该效果时,Flex 会自动调用 captureStartValues()
方法。
使用此属性可实现简单过滤。使用 customFilter
属性可实现更为复杂的过滤。如果 customFilter
属性值非空,则会忽略此属性。
filter
属性可使用以下值:
"add"
,则可以在作为子项添加到容器的任何目标上播放效果。
"addItem"
,则可以在添加到 List 或 TileList 控件的任何列表项的项目渲染器上播放效果。
"hide"
,则可以在已将 visible 属性从 true
更改为 false
的任何目标上播放效果。
"move"
,则可以在更改了 x
或 y
属性的任何目标上播放效果。
"remove"
,则可以在已作为容器子项删除的任何目标上播放效果。
"removeItem"
,则可以在从 List 或 TileList 控件中删除的任何列表项的项目渲染器上播放效果。
"replacedItem"
,则可以在 List 或 TileList 控件中被替换为新项目的任何列表项的项目渲染器上播放效果。
"replacementItem"
,则可以在添加到 List 或 TileList 控件中用以替换现有项目的任何列表项的项目渲染器上播放效果。
"resize"
,则可以在更改了 width
或 height
属性的任何目标上播放效果。
"show"
,则可以在已将 visible 属性从 false
更改为 true
的任何目标上播放效果。
""
,则指定不进行任何过滤。
默认值为 null.
public function get filter():String
public function set filter(value:String):void
hideFocusRing | 属性 |
hideFocusRing:Boolean
[读写] 确定在开始播放效果时,效果是否应隐藏对焦环。效果目标负责隐藏对焦环。UIComponent 类的子类将自动隐藏对焦环。如果效果目标不是 UIComponent 类的子类,则必须向其添加隐藏对焦环的功能。
将此属性设置为 true
可在播放效果期间隐藏对焦环。
对于 Effect 的子类,默认值是 false
。对于 MaskEffect 的子类,默认值是 true
。
public function get hideFocusRing():Boolean
public function set hideFocusRing(value:Boolean):void
isPlaying | 属性 |
isPlaying:Boolean
[只读 (read-only)] 一个只读标志,如果当前正在播放效果的任一实例,则为 true;否则,则为 false。
public function get isPlaying():Boolean
perElementOffset | 属性 |
perElementOffset:Number
[读写]
在效果的第一个目标之后,其它效果目标的附加延迟(以毫秒为单位)。此值将添加到 startDelay
属性的值中。
public function get perElementOffset():Number
public function set perElementOffset(value:Number):void
relevantProperties | 属性 |
relevantProperties:Array
[读写] 一个属性名称 Array,执行过滤时将使用这些名称。此属性仅供内部使用,效果用户不应设置此属性。
默认值为 getAffectedProperties()
方法返回的 Array。
public function get relevantProperties():Array
public function set relevantProperties(value:Array):void
relevantStyles | 属性 |
relevantStyles:Array
[读写] 一个样式名称 Array,执行过滤时将使用这些名称。此属性仅供内部使用,效果用户不应设置此属性。
默认值为 getAffectedProperties()
方法返回的 Array。
public function get relevantStyles():Array
public function set relevantStyles(value:Array):void
target | 属性 |
target:Object
[读写]
要应用此效果的 UIComponent 对象。当效果触发器触发某个效果时,会自动将 target
属性设置为触发该效果的对象。
public function get target():Object
public function set target(value:Object):void
targets | 属性 |
targets:Array
[读写]
一个 UIComponent 对象 Array,这些对象都是效果的目标。播放效果时,会对各个目标并行执行效果。设置 target
属性将替换此 Array 中的所有对象。设置 targets
属性后,target
属性将返回此 Array 中的第一个项目。
public function get targets():Array
public function set targets(value:Array):void
triggerEvent | 属性 |
triggerEvent:Event
[读写]
如果触发了某个效果,则此项目是由 EffectManager 传递给此 Effect 的 Event 对象;如果 EffectManager 当前没有播放此效果,则为 null
。
public function get triggerEvent():Event
public function set triggerEvent(value:Event):void
captureEndValues | () | 方法 |
public function captureEndValues():void
捕获效果目标上相关属性的当前值,并将这些值另存为结束值。
如果此效果是数据更改效果的一部分,Flex 会自动调用 captureEndValues()
方法。
captureMoreStartValues | () | 方法 |
public function captureMoreStartValues(targets:Array):void
捕获另一组目标相关属性的当前值
在运行数据更改效果时,此函数由 Flex 使用。
参数
targets:Array — 要捕获其值的目标的数组 |
captureStartValues | () | 方法 |
public function captureStartValues():void
捕获效果目标上相关属性的当前值。Flex 会在转移效果过程中自动调用 captureStartValues()
方法。
如果希望效果指出此效果的起始值和结束值,请使用此函数。下面是使用此函数的正确步骤:
captureStartValues()
方法。效果捕获效果起始值。
play()
方法。此效果将捕获结束值。此函数会为此效果创建的每个效果实例填充 EffectInstance.propertyChanges
属性。效果开发人员可以使用 propertyChanges
属性检索其效果的起始值和结束值。
createInstance | () | 方法 |
public function createInstance(target:Object = null):IEffectInstance
创建一个效果实例并对其进行初始化。在播放效果实例前,使用此方法(而非 play()
方法)处理效果实例属性。
所创建的效果实例的类型由 instanceClass
属性指定。然后,使用 initInstance()
方法初始化此实例。如果该实例是 EffectManager 在效果触发器触发此效果时创建的,则还需要调用 EffectInstance.initEffect()
方法进一步初始化此效果。
调用 createInstance()
方法不会播放效果。您必须对返回的效果实例调用 startEffect()
方法。
Effect.play()
方法将自动调用此函数。
参数
target:Object (default = null ) — 要使用此效果为其设置动画的对象。 |
IEffectInstance — 效果的效果实例对象。 |
createInstances | () | 方法 |
public function createInstances(targets:Array = null):Array
获取一个目标对象 Array,并对每个目标调用 createInstance()
方法。
参数
targets:Array (default = null ) — 要使用此效果设置动画的对象的数组。 |
Array — 效果的效果实例对象的数组,一个目标一个数组。 |
deleteInstance | () | 方法 |
public function deleteInstance(instance:IEffectInstance):void
删除实例中的事件侦听器,然后从实例列表中删除该实例。
参数
instance:IEffectInstance |
end | () | 方法 |
public function end(effectInstance:IEffectInstance = null):void
中断当前正在播放的效果,立即跳转到该效果的末尾。调用此方法将调用 EffectInstance.end()
方法。
如果调用此方法来结束播放效果,效果实例将调度 effectEnd
事件。
如果将效果实例作为参数传递,则会中断此实例。如果没有传入参数,则该效果当前生成的所有效果实例都将中断。
参数
effectInstance:IEffectInstance (default = null ) — 要终止的 EffectInstance。 |
另请参见
getAffectedProperties | () | 方法 |
public function getAffectedProperties():Array
返回一个字符串 Array,其中每个 String 都是被此效果更改的属性名称。例如,Move 效果会返回一个包含 "x"
和 "y"
的 Array。
Effect 的每个子类都必须实现此方法。EffectManager 使用此方法来避免试图同时对同一对象的相同属性设置不同的动画效果。
返回Array — 一个用于指定此效果修改的属性的名称的字符串 Array。 |
pause | () | 方法 |
public function pause():void
暂停效果,直到调用 resume()
方法。
play | () | 方法 |
public function play(targets:Array = null, playReversedFromEnd:Boolean = false):Array
开始播放效果。通常在调用 play()
方法之前先调用 end()
方法,以确保在开始播放新效果前已结束先前效果的所有实例。
所有子类都必须实现此方法。
参数
targets:Array (default = null ) —
播放此效果的目标对象的数组。如果已指定此参数,则不会使用效果的 targets 属性。
| |
playReversedFromEnd:Boolean (default = false ) —
如果为 true ,则向后播放效果。
|
Array — 效果的 EffectInstance 对象的数组,一个目标一个数组。 |
resume | () | 方法 |
public function resume():void
在效果由 pause()
方法暂停后继续播放效果。
reverse | () | 方法 |
public function reverse():void
逆序播放效果;如果当前正在播放效果,则从该效果的当前位置开始逆序播放。
stop | () | 方法 |
public function stop():void
停止播放效果,使效果目标保持当前状态。与调用 pause()
方法不同,无法先调用 stop()
方法再调用 resume()
方法。不过,您可以调用 play()
方法重新播放效果。
如果调用此方法来结束播放效果,效果实例将调度 effectEnd
事件。
对于遮罩效果,停止播放效果后不会自动删除遮罩。如果事先没有删除遮罩就继续对同一目标运行遮罩效果,可能会出现意外结果。