mx.effects
public class EffectInstance
继承EffectInstance Inheritance EventDispatcher Inheritance Object
实现 IEffectInstance
子类 ActionEffectInstance, CompositeEffectInstance, MaskEffectInstance, SoundEffectInstance, TweenEffectInstance

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

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

另请参见

mx.effects.Effect
About behaviors
About creating a custom effect
About creating a custom effect


公共属性
 属性定义方
  className : String
[只读 (read-only)] 效果类的名称,如“FadeInstance”。
EffectInstance
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  duration : Number
效果的持续时间(以毫秒为单位)。
EffectInstance
  effect : IEffect
创建此 IEffectInstance 对象的 IEffect 对象。
EffectInstance
  effectTargetHost : IEffectTargetHost
一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。
EffectInstance
  hideFocusRing : Boolean
确定在开始播放效果时,效果是否应隐藏对焦环。
EffectInstance
  playheadTime : Number
[只读 (read-only)] 播放效果时所处的当前位置。
EffectInstance
  propertyChanges : PropertyChanges
指定包含一组属性的初始值和结束值的 PropertyChanges 对象,这些属性与效果的目标相关。
EffectInstance
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
  repeatCount : int
效果的重复次数。
EffectInstance
  repeatDelay : int
重复播放效果前需要等待的时间(以毫秒为单位)。
EffectInstance
  startDelay : int
开始播放效果前需要等待的时间(以毫秒为单位)。
EffectInstance
  suspendBackgroundProcessing : Boolean
如果为 true,则在播放效果时阻止所有背景处理。
EffectInstance
  target : Object
要应用此效果的 UIComponent 对象。
EffectInstance
  triggerEvent : Event
触发播放效果的事件(如果有)。
EffectInstance
公共方法
 方法定义方
  
构造函数。
EffectInstance
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
 Inherited
将事件调度到事件流中。
EventDispatcher
  
中断当前播放的效果实例,立即跳转到效果的结束位置。
EffectInstance
  
在完成效果播放时由 end() 方法调用。
EffectInstance
  
每次完成重复效果的迭代播放后调用。
EffectInstance
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
指示对象是否已经定义了指定的属性。
Object
  
如果由 EffectManager 触发效果,则会调用此方法。
EffectInstance
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  
暂停效果,直到调用 resume() 方法。
EffectInstance
  
在目标上播放效果实例。
EffectInstance
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
  
在效果由 pause() 方法暂停后继续播放效果。
EffectInstance
  
从效果的当前位置开始反向播放效果。
EffectInstance
 Inherited
设置循环操作动态属性的可用性。
Object
  
经过 startDelay 所占用的这段时间后,在目标上播放效果实例。
EffectInstance
  
停止播放效果,使目标保持当前状态。
EffectInstance
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件 摘要 定义方
 Inherited[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。EventDispatcher
 Inherited[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。EventDispatcher
属性详细信息
className属性
className:String  [只读 (read-only)]

效果类的名称,如 "FadeInstance"

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



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

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



实现
    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 的整数。



实现
    public function get repeatCount():int
    public function set repeatCount(value:int):void
repeatDelay属性 
repeatDelay:int  [读写]

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



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

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



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

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



实现
    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
构造函数详细信息
EffectInstance()构造函数
public function EffectInstance(target:Object)

构造函数。

参数
target:Object — 要使用此效果为其设置动画的 UIComponent 对象。
方法详细信息
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 事件。