mx.effects
接口public interface IEffectInstance
实现器 EffectInstance

IEffectInstance 接口代表在目标上播放的效果实例。每个目标都有与之相关联的单独效果实例。效果实例的生存期是短暂的。在目标上播放效果时会创建一个实例,当效果完成播放时将销毁此实例。如果目标上同时播放了多个效果(例如,Parallel 效果),则每个效果都有其单独的效果实例。

效果开发人员必须为其自定义效果创建实例类。

另请参见

mx.effects.Effect


公共属性
 属性定义方
  className : String
[只读 (read-only)] 效果类的名称,如“FadeInstance”。
IEffectInstance
  duration : Number
效果的持续时间(以毫秒为单位)。
IEffectInstance
  effect : IEffect
创建此 IEffectInstance 对象的 IEffect 对象。
IEffectInstance
  effectTargetHost : IEffectTargetHost
一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。
IEffectInstance
  hideFocusRing : Boolean
确定在开始播放效果时,效果是否应隐藏对焦环。
IEffectInstance
  playheadTime : Number
[只读 (read-only)] 播放效果时所处的当前位置。
IEffectInstance
  propertyChanges : PropertyChanges
指定包含一组属性的初始值和结束值的 PropertyChanges 对象,这些属性与效果的目标相关。
IEffectInstance
  repeatCount : int
效果的重复次数。
IEffectInstance
  repeatDelay : int
重复播放效果前需要等待的时间(以毫秒为单位)。
IEffectInstance
  startDelay : int
开始播放效果前需要等待的时间(以毫秒为单位)。
IEffectInstance
  suspendBackgroundProcessing : Boolean
如果为 true,则在播放效果时阻止所有背景处理。
IEffectInstance
  target : Object
要应用此效果的 UIComponent 对象。
IEffectInstance
  triggerEvent : Event
触发播放效果的事件(如果有)。
IEffectInstance
公共方法
 方法定义方
  
中断当前播放的效果实例,立即跳转到效果的结束位置。
IEffectInstance
  
在完成效果播放时由 end() 方法调用。
IEffectInstance
  
每次完成重复效果的迭代播放后调用。
IEffectInstance
  
如果由 EffectManager 触发效果,则会调用此方法。
IEffectInstance
  
暂停效果,直到调用 resume() 方法。
IEffectInstance
  
在目标上播放效果实例。
IEffectInstance
  
在效果由 pause() 方法暂停后继续播放效果。
IEffectInstance
  
从效果的当前位置开始反向播放效果。
IEffectInstance
  
经过 startDelay 所占用的这段时间后,在目标上播放效果实例。
IEffectInstance
  
停止播放效果,使目标保持当前状态。
IEffectInstance
属性详细信息
className属性
className:String  [只读 (read-only)]

效果类的名称,如 "FadeInstance"

这是一个短类名称或“非限定”类名称,不包含包名称。如果需要限定名称,可使用 flash.utils 包中的 getQualifiedClassName() 方法。



实现
    public function get className():String
duration属性 
duration:Number  [读写]

效果的持续时间(以毫秒为单位)。

默认值为 500.



实现
    public function get duration():Number
    public function set duration(value:Number):void
effect属性 
effect:IEffect  [读写]

创建此 IEffectInstance 对象的 IEffect 对象。



实现
    public function get effect():IEffect
    public function set effect(value:IEffect):void
effectTargetHost属性 
effectTargetHost:IEffectTargetHost  [读写]

一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。通过设置此属性,效果类的实例将能够访问播放此效果的基于列表的控件。



实现
    public function get effectTargetHost():IEffectTargetHost
    public function set effectTargetHost(value:IEffectTargetHost):void
hideFocusRing属性 
hideFocusRing:Boolean  [读写]

确定在开始播放效果时,效果是否应隐藏对焦环。效果目标负责隐藏对焦环。UIComponent 类的子类将自动隐藏对焦环。如果效果目标不是 UIComponent 类的子类,则必须向其添加隐藏对焦环的功能。

将此属性设置为 true 可在播放效果期间隐藏对焦环。

对于 Effect 的子类,默认值是 false。对于 MaskEffect 的子类,默认值是 true



实现
    public function get hideFocusRing():Boolean
    public function set hideFocusRing(value:Boolean):void
playheadTime属性 
playheadTime:Number  [只读 (read-only)]

播放效果时所处的当前位置。此属性的值介于 0 和实际持续时间(包括 startDelayrepeatCountrepeatDelay 属性的值)之间。



实现
    public function get playheadTime():Number
propertyChanges属性 
propertyChanges:PropertyChanges  [读写]

指定包含一组属性的初始值和结束值的 PropertyChanges 对象,这些属性与效果的目标相关。只有对创建此效果实例的效果调用 captureStartValues() 方法时,才设置此属性。

通常使用 propertyChanges 属性创建转移过程中使用的效果。Flex 会在开始转移时自动调用 captureStartValues() 方法。在覆盖 Effectinstance.play() 方法的过程中,您可以检查 propertyChanges() 方法中的信息,以初始化效果的起始值和结束值。



实现
    public function get propertyChanges():PropertyChanges
    public function set propertyChanges(value:PropertyChanges):void

另请参见

repeatCount属性 
repeatCount:int  [读写]

效果的重复次数。可能值为任何大于等于 0 的整数。

默认值为 1.



实现
    public function get repeatCount():int
    public function set repeatCount(value:int):void

另请参见

repeatDelay属性 
repeatDelay:int  [读写]

重复播放效果前需要等待的时间(以毫秒为单位)。

默认值为 0.



实现
    public function get repeatDelay():int
    public function set repeatDelay(value:int):void

另请参见

startDelay属性 
startDelay:int  [读写]

开始播放效果前需要等待的时间(以毫秒为单位)。此值可以是任何大于或等于 0 的整数。如果使用 repeatCount 属性重复播放效果,则只在首次播放该效果时应用 startDelay 属性。

默认值为 0.



实现
    public function get startDelay():int
    public function set startDelay(value:int):void
suspendBackgroundProcessing属性 
suspendBackgroundProcessing:Boolean  [读写]

如果为 true,则在播放效果时阻止所有背景处理。背景处理包括度量、布局和处理来自服务器的响应。

默认值为 false.



实现
    public function get suspendBackgroundProcessing():Boolean
    public function set suspendBackgroundProcessing(value:Boolean):void

另请参见

target属性 
target:Object  [读写]

要应用此效果的 UIComponent 对象。



实现
    public function get target():Object
    public function set target(value:Object):void

另请参见

triggerEvent属性 
triggerEvent:Event  [读写]

触发播放效果的事件(如果有)。如果要将一个效果分配给多个触发事件,此属性非常有用。

如果通过调用 play() 方法以编程方式播放(而非由某个事件触发)该效果,则此属性将为 null



实现
    public function get triggerEvent():Event
    public function set triggerEvent(value:Event):void
方法详细信息
end()方法
public function end():void

中断当前播放的效果实例,立即跳转到效果的结束位置。通过调用 Effect.end() 方法可调用此方法。在实现过程中,它会调用 finishEffect() 方法。

如果调用此方法来结束播放效果,效果实例将调度 effectEnd 事件。

在 EffectInstance 的子类中,您可以在进行覆盖时顺便覆盖此方法,并应在完成您的逻辑之后从覆盖的结束位置调用 super.end() 方法。

另请参见

finishEffect()方法 
public function finishEffect():void

在完成效果播放时由 end() 方法调用。此函数将为效果目标调度 endEffect 事件。

您不必在子类中覆盖此方法。在使用效果时无需调用此方法,但在创建效果子类时可能需要调用此方法。

另请参见

finishRepeat()方法 
public function finishRepeat():void

每次完成重复效果的迭代播放后调用。

您不必在子类中覆盖此方法。您无需在使用效果时调用此方法。

initEffect()方法 
public function initEffect(event:Event):void

如果由 EffectManager 触发效果,则会调用此方法。此基类版本会将触发效果的事件保存在 triggerEvent 属性中。每个子类都应该覆盖此方法。

参数

event:Event — 为触发效果而调度的 Event 对象。例如,如果触发器是 mouseDownEffect,则事件可能是类型等效于 MouseEvent.MOUSEDOWN 的 MouseEvent。

pause()方法 
public function pause():void

暂停效果,直到调用 resume() 方法。

play()方法 
public function play():void

在目标上播放效果实例。改为调用 startEffect() 方法,以在 EffectInstance 上开始播放效果。

在 EffectInstance 的子类中,必须覆盖此方法。此覆盖必须调用 super.play() 方法,以便从目标中调度 effectStart 事件。

resume()方法 
public function resume():void

在效果由 pause() 方法暂停后继续播放效果。

reverse()方法 
public function reverse():void

从效果的当前位置开始反向播放效果。

startEffect()方法 
public function startEffect():void

经过 startDelay 所占用的这段时间后,在目标上播放效果实例。由 Effect 类调用。在启动 EffectInstance 时,请使用此函数,而非 play() 方法。

stop()方法 
public function stop():void

停止播放效果,使目标保持当前状态。您需要通过调用 Effect.stop() 方法来调用此方法。在实现过程中,它会调用 finishEffect() 方法。

如果调用此方法来结束播放效果,效果实例将调度 effectEnd 事件。