包 | mx.effects |
接口 | public interface IEffect extends IAbstractEffect , IEventDispatcher |
实现器 | Effect |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
className : String [只读]
效果类的名称,如“Fade”。 | IEffect | ||
customFilter : mx.effects:EffectTargetFilter
指定一个 EffectTargetFilter 类型的自定义滤镜对象,效果将使用此对象来确定播放效果的目标。 | IEffect | ||
duration : Number
效果的持续时间(以毫秒为单位)。 | IEffect | ||
effectTargetHost : mx.effects:IEffectTargetHost
一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。 | IEffect | ||
filter : String
指定用于过滤效果目标的算法。 | IEffect | ||
hideFocusRing : Boolean
确定在开始播放效果时,效果是否应隐藏对焦环。 | IEffect | ||
isPlaying : Boolean [只读]
一个只读标志,如果当前正在播放效果的任一实例,则为 true;否则,则为 false。 | IEffect | ||
perElementOffset : Number
在效果的第一个目标之后,其他效果目标的附加延迟(以毫秒为单位)。 | IEffect | ||
playheadTime : Number
效果的当前时间位置。 | IEffect | ||
relevantProperties : Array
一个属性名称 Array,执行过滤时将使用这些名称。 | IEffect | ||
relevantStyles : Array
一个样式名称 Array,执行过滤时将使用这些名称。 | IEffect | ||
target : Object
要应用此效果的对象。 | IEffect | ||
targets : Array
一个对象 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 | 属性 |
customFilter | 属性 |
customFilter:mx.effects:EffectTargetFilter
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
指定一个 EffectTargetFilter 类型的自定义滤镜对象,效果将使用此对象来确定播放效果的目标。
只有在播放效果之前调用 captureStartValues()
方法时,才执行目标过滤。Flex 会在转移效果过程中自动调用 captureStartValues()
方法。
使用 filter
属性可实现简单过滤。如果 customFilter
属性值非空,则会忽略 filter
属性。
默认值为 null。
实现
public function get customFilter():mx.effects:EffectTargetFilter
public function set customFilter(value:mx.effects:EffectTargetFilter):void
相关 API 元素
duration | 属性 |
duration:Number
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
效果的持续时间(以毫秒为单位)。
在 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:mx.effects:IEffectTargetHost
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。通过设置此属性,效果类的实例将能够访问播放此效果的基于列表的控件。
实现
public function get effectTargetHost():mx.effects:IEffectTargetHost
public function set effectTargetHost(value:mx.effects:IEffectTargetHost):void
filter | 属性 |
filter:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
指定用于过滤效果目标的算法。如果此值为 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
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
确定在开始播放效果时,效果是否应隐藏对焦环。效果目标负责隐藏对焦环。UIComponent 类的子类将自动隐藏对焦环。如果效果目标不是 UIComponent 类的子类,则必须向其添加隐藏对焦环的功能。
将此属性设置为 true
可在播放效果期间隐藏对焦环。
对于 Effect 的子类,默认值是 false
。对于 MaskEffect 的子类,默认值是 true
。
实现
public function get hideFocusRing():Boolean
public function set hideFocusRing(value:Boolean):void
isPlaying | 属性 |
perElementOffset | 属性 |
playheadTime | 属性 |
relevantProperties | 属性 |
relevantStyles | 属性 |
target | 属性 |
targets | 属性 |
triggerEvent | 属性 |
captureEndValues | () | 方法 |
public function captureEndValues():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
捕获效果目标上相关属性的当前值,并将这些值另存为结束值。
如果此效果是数据更改效果的一部分,Flex 会自动调用 captureEndValues()
方法。
captureMoreStartValues | () | 方法 |
captureStartValues | () | 方法 |
public function captureStartValues():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
捕获效果目标上相关属性的当前值。Flex 会在转移效果过程中自动调用 captureStartValues()
方法。
如果希望效果指出此效果的起始值和结束值,请使用此函数。下面是使用此函数的正确步骤:
- 调用
captureStartValues()
方法。效果捕获效果起始值。 - 更改效果目标,如添加/删除子项、更改属性、更改位置或更改尺寸。
- 调用
play()
方法。此效果将捕获结束值。此函数会为此效果创建的每个效果实例填充EffectInstance.propertyChanges
属性。效果开发人员可以使用propertyChanges
属性检索其效果的起始值和结束值。
createInstance | () | 方法 |
public function createInstance(target:Object = null):IEffectInstance
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
创建一个效果实例并对其进行初始化。在播放效果实例前,使用此方法(而非 play()
方法)处理效果实例属性。
所创建的效果实例的类型由 instanceClass
属性指定。然后,使用 initInstance()
方法初始化此实例。如果该实例是 EffectManager 在效果触发器触发此效果时创建的,则还需要调用 EffectInstance.initEffect()
方法进一步初始化此效果。
调用 createInstance()
方法不会播放效果。对返回的效果实例调用 startEffect()
方法。
Effect.play()
方法将自动调用此函数。
参数
target:Object (default = null ) — 要使用此效果为其设置动画的对象。
|
IEffectInstance — 效果的效果实例对象。
|
createInstances | () | 方法 |
deleteInstance | () | 方法 |
public function deleteInstance(instance:IEffectInstance):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
删除实例中的事件侦听器,然后从实例列表中删除该实例。
参数
instance:IEffectInstance — 效果实例。
|
end | () | 方法 |
public function end(effectInstance:IEffectInstance = null):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
中断当前正在播放的效果,立即跳转到该效果的末尾。调用此方法将调用 EffectInstance.end()
方法。
如果调用此方法来结束播放效果,效果实例将调度 effectEnd
事件。
如果将效果实例作为参数传递,则会中断此实例。如果没有传入参数,则该效果当前生成的所有效果实例都将中断。
参数
effectInstance:IEffectInstance (default = null ) — 要终止的 EffectInstance。
|
相关 API 元素
getAffectedProperties | () | 方法 |
pause | () | 方法 |
public function pause():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
暂停效果,直到调用 resume()
方法。
play | () | 方法 |
public function play(targets:Array = null, playReversedFromEnd:Boolean = false):Array
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
开始播放效果。通常在调用 play()
方法之前先调用 end()
方法,以确保在开始播放新效果前已结束先前效果的所有实例。
所有子类都必须实现此方法。
参数
targets:Array (default = null ) — 播放此效果的目标对象的数组。如果已指定此参数,则不会使用效果的 targets 属性。
| |
playReversedFromEnd:Boolean (default = false ) — 如果为 true ,则向后播放效果。
|
Array — 效果的 EffectInstance 对象的数组,一个目标一个数组。
|
resume | () | 方法 |
public function resume():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
在效果由 pause()
方法暂停后继续播放效果。
reverse | () | 方法 |
public function reverse():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
逆序播放效果;如果当前正在播放效果,则从该效果的当前位置开始逆序播放。
stop | () | 方法 |
public function stop():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
停止播放效果,使效果目标保持当前状态。与调用 pause()
方法不同,无法先调用 stop()
方法再调用 resume()
方法。不过,您可以调用 play()
方法重新播放效果。
如果调用此方法来结束播放效果,效果实例将调度 effectEnd
事件。
对于遮罩效果,停止播放效果后不会自动删除遮罩。如果事先没有删除遮罩就继续对同一目标运行遮罩效果,可能会出现意外结果。
Tue Jun 12 2018, 11:04 AM Z