mx.effectsEffectManager EffectManager 类侦听由 Flex 应用程序中的对象分派的事件,如 show 和 move 事件。flash.events:EventDispatcher EffectManager 类侦听由 Flex 应用程序中的对象分派的事件,如 showmove 事件。对于与事件触发器有一一对应关系的每个事件,它确定是否为对象分配效果。如果已定义某个效果,它将播放此效果。 endEffectsForTarget 立即结束当前在目标上播放的任何效果。targetmx.core:IUIComponent结束其上所有效果的目标组件。 立即结束当前在目标上播放的任何效果。 resumeEventHandling 允许 EffectManager 类在调用 suspendEventHandling() 方法后继续处理事件。 允许 EffectManager 类在调用 suspendEventHandling() 方法后继续处理事件。在内部与 suspendEventHandling() 方法配合使用,以便更新屏幕不会触发另一效果。 suspendEventHandling 调用此方法后,EffectManager 类将忽略所有事件,并且不会触发任何效果,直到调用 resumeEventHandling()。 调用此方法后,EffectManager 类将忽略所有事件,并且不会触发任何效果,直到调用 resumeEventHandling()。在内部使用,以便更新屏幕不会触发另一效果。 Effect Effect 类是一个抽象基类,用于定义所有 Flex 效果的基本功能。The Effect class defines the following properties, which all of its subclasses inherit:

  <mx:tagname
    Properties
    customFilter=""
    duration="500"
    filter=""
    hideFocusRing="false"
    perElementOffset="0"
    repeatCount="1"
    repeatDelay="0"
    startDelay="0"
    suspendBackgroundProcessing="false|true"
    target="effect target"
    targets="array of effect targets"
     
    Events
    effectEnd="No default"
    efectStart="No default"
  />
  
]]>
mx.effects:IEffectflash.events:EventDispatcher Effect 类是一个抽象基类,用于定义所有 Flex 效果的基本功能。Effect 类定义所有效果的基本工厂类。EffectInstance 类定义所有效果实例子类的基类。

在应用程序中不创建 Effect 类本身的实例,而是创建一个子类的实例,如 Fade 或 WipeLeft。

mx.effects.EffectInstanceeffectStart 当效果开始播放时分派。mx.events.EffectEvent.EFFECT_STARTmx.events.EffectEvent 当效果开始播放时分派。 effectStop 在已停止效果时分派,仅当该效果已被 stop() 方法调用中断时才会发生。mx.events.EffectEvent.EFFECT_STOPmx.events.EffectEvent 在已停止效果时分派,仅当该效果已被 stop() 方法调用中断时才会发生。还将分派 EFFECT_END 事件以指示已结束该效果。将首先发送此额外事件,作为对效果未达到其结束状态的侦听器的指示。 effectEnd 在其中一个效果实例完成播放时(既可以是实例实际完成播放时,也可以是通过调用 end() 方法中断效果时)分派。mx.events.EffectEvent.EFFECT_ENDmx.events.EffectEvent 在其中一个效果实例完成播放时(既可以是实例实际完成播放时,也可以是通过调用 end() 方法中断效果时)分派。 Effect 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。

启动效果的过程通常分为三个步骤:

  • 使用 new 运算符创建一个效果对象实例。
  • 设置效果对象上的属性,如 duration
  • 调用 play() 方法或将效果分配给触发器。
applyValueToTarget 供 Effect 基础结构内部使用。target效果目标。 property目标属性。 value属性的值。 props一个对象数组,其中每个 Array 元素中都包含效果正在监视的属性的 startend Object。 供 Effect 基础结构内部使用。如果已调用 captureStartValues(),则当 Flex 调用 play() 方法时,将使用此函数将目标设置回初始状态。默认行为是使用 getValueFromTarget() 方法获取捕获的值,并直接在目标的属性上进行设置。例如:
      
      target[property] = value;

仅当需要以其他方式应用捕获的值时,才覆盖此方法。请注意,目标的样式属性将使用其他机制进行设置。使用 relevantStyles 属性指定要捕获并应用的样式属性。

captureEndValues captureMoreStartValues targets要捕获其值的目标的数组 captureStartValues createInstance mx.effects:IEffectInstance效果的效果实例对象。 targetnull要使用此效果为其设置动画的对象。 createInstances 效果的效果实例对象的数组,一个目标一个数组。 targetsnull要使用此效果设置动画的对象的数组。 deleteInstance instancemx.effects:IEffectInstance效果实例。 effectEndHandler 当效果实例完成播放时调用。eventmx.events:EffectEventEffectEvent 类型的事件对象。 当效果实例完成播放时调用。如果覆盖此方法,请确保调用超级方法。 effectStartHandler 当效果实例开始播放时调用此方法。eventmx.events:EffectEventEffectEvent 类型的事件对象。 当效果实例开始播放时调用此方法。如果覆盖此方法,请确保调用超级方法。 effectStopHandler 当效果实例已被 stop() 方法调用停止时调用。eventmx.events:EffectEventEffectEvent 类型的事件对象。 当效果实例已被 stop() 方法调用停止时调用。如果覆盖此方法,请确保调用超级方法。 end effectInstancemx.effects:IEffectInstancenull要终止的 EffectInstance。 filterInstance 确定筛选效果实例所用的逻辑。如果应播放效果实例,则返回 truepropChanges效果修改的属性。 target效果目标。 确定筛选效果实例所用的逻辑。CompositeEffect 类将覆盖此方法。 getAffectedProperties 一个用于指定此效果修改的属性的名称的字符串 Array。 getValueFromTarget 由 captureStartValues() 方法调用,用来从目标获得某个属性的值。目标属性的值。 target效果目标。 property目标属性。 captureStartValues() 方法调用,用来从目标获得某个属性的值。此函数应仅供效果框架内部调用。默认行为是只返回 target[property]。如果您需要其他行为,效果开发人员可以覆盖此函数。 initInstance 将效果的属性复制到效果实例。instancemx.effects:IEffectInstance要初始化的效果实例。 将效果的属性复制到效果实例。

Flex 将从 Effect.createInstance() 方法调用此方法;您不必亲自调用它。

创建自定义效果时覆盖此方法,将属性从 Effect 类复制到效果实例类。进行覆盖时,请调用 super.initInstance()

pause play 效果的 EffectInstance 对象的数组,一个目标一个数组。 targetsnull播放此效果的目标对象的数组。如果已指定此参数,则不会使用效果的 targets 属性。 playReversedFromEndfalse如果为 true,则向后播放效果。 resume reverse stop applyTransitionEndProperties 此标志控制该效果(进行转换时)是否将根据结束状态自动应用属性值,这与将值保留为效果本身所设置的值相反。unknowntrue 此标志控制该效果(进行转换时)是否将根据结束状态自动应用属性值,这与将值保留为效果本身所设置的值相反。 endValuesCaptured 一个标志,如果已确定效果的结束值,则该标志中包含 true;如果需要在效果运行时从效果目标的当前属性捕获这些值,则其中包含 false。falsefalse 一个标志,如果已确定效果的结束值,则标志中包含 true;如果需要在效果运行时从效果目标的当前属性捕获这些值,则其中包含 false。此属性对数据效果而言是必需的,因为设置数据效果(如 DefaultListEffect 和 DefaultTileListEffect)的顺序比设置普通效果的顺序要复杂。 instanceClass 一个 Class 类型的对象,用于指定此效果类的效果实例类。 一个 Class 类型的对象,用于指定此效果类的效果实例类。

Effect 类的所有子类都必须在其构造函数中设置此属性。

repeatCount 效果的重复次数。11 效果的重复次数。可能的值为任何大于等于 0 的整数。值为 1 表示播放一次效果。值为 0 表示无限制地循环播放效果,直到通过调用 end() 方法停止播放。 repeatDelay 重复播放效果前需要等待的时间(以毫秒为单位)。00 重复播放效果前需要等待的时间(以毫秒为单位)。可能的值为任何大于等于 0 的整数。 startDelay 开始播放效果前需要等待的时间(以毫秒为单位)。00 开始播放效果前需要等待的时间(以毫秒为单位)。此值可以是任何大于或等于 0 的整数。如果使用 repeatCount 属性重复播放效果,则只在首次播放效果时应用 startDelaysuspendBackgroundProcessing 如果为 true,则在播放效果时阻止所有背景处理。falsefalse 如果为 true,则在播放效果时阻止所有背景处理。背景处理包括度量、布局和处理来自服务器的响应。默认值为 false

大多数情况下,建议将此属性设置为 true,因为这可以提高应用程序的性能。但是,如果符合下列条件之一,则应将此属性设置为 false

  • 播放效果时可能会出现用户输入内容,并且应用程序必须在效果完成播放前响应用户输入。
  • 播放效果时可能会收到来自服务器的响应,并且应用程序必须一面播放效果,一面处理此响应。
className customFilter mx.effects:EffectTargetFilter duration effectTargetHost mx.effects:IEffectTargetHost filter hideFocusRing isPlaying perElementOffset playheadTime 效果的当前时间位置。 效果的当前时间位置。此属性的值介于 0 和总持续时间(包括该效果的 startDelayrepeatCountrepeatDelay)之间。 relevantProperties relevantStyles target targets triggerEvent
MaskEffect MaskEffect 类是所有设置蒙版动画的效果的抽象基类,如划出效果和 Iris 效果。The MaskEffect class defines the following properties, which all of its subclasses inherit:

  <mx:tagname
    createMaskFunction=""
    moveEasingFunction=""
    scaleEasingFunction=""
    scaleXFrom=""
    scaleXTo=""
    scaleYFrom=""
    scaleYTo=""
    show="true|false"
    xFrom=""
    xTo=""
    yFrom=""
    yTo=""
  />
  
]]>
mx.effects:Effect MaskEffect 类是所有设置遮罩动画的效果的抽象基类,如划出效果和 Iris 效果。此类封装了所有基于遮罩的效果中常见的方法和属性。

遮罩效果使用名为“遮罩”的叠加层来执行该效果。默认情况下,遮罩是一个矩形,与目标组件大小相同。

应用遮罩效果之前或之后,目标组件的状态必须是不可见的。也就是说,遮罩效果通常会使目标组件出现在屏幕上,或从屏幕中消失。

您可以使用 scaleXFromscaleYFromscaleXToscaleX 属性指定遮罩的初始和最终缩放比例。如果将此值设置为 1.0,则表示将遮罩缩放为目标组件的大小;如果将此值设置为 2.0,则表示将遮罩缩放为目标组件的两倍大小;如果将此值设置为 0.5,则表示将遮罩缩放为目标组件的一半大小,依此类推。要使用上述任一属性,都必须指定所有四个属性。

您可以使用 xFromyFromxToyTo 属性指定遮罩相对于目标组件的初始位置和最终位置坐标,其中 (0, 0) 对应于目标的左上角。要使用上述任一属性,都必须指定所有四个属性。

遮罩的初始位置和最终位置坐标取决于效果的类型以及 show 属性是 true 还是 false。例如,对于 show 值设置为 false 的 WipeLeft 效果,遮罩初始位置的坐标为 (0, 0),对应于目标的左上角;最终位置的坐标为 (宽度, 0),对应于目标的右上角,其中的宽度指目标的宽度。

对于 show 值设置为 true 的 WipeLeft 效果,遮罩初始位置的坐标为 (宽度, 0),最终位置的坐标为 (0, 0)。

mx.effects.effectClasses.MaskEffectInstancemx.effects.TweenEffecttweenEnd 在结束效果时分派。mx.events.TweenEvent.TWEEN_ENDmx.events.TweenEvent 在结束效果时分派。

如果某个效果只播放一次,则此事件将与 effectEnd 事件同时发生。如果将效果配置为重复播放,则在每次重复播放效果结束时都会发生此事件,而在最后一次播放效果结束后发生 endEffect 事件。

tweenUpdate 每当效果更新目标时分派。mx.events.TweenEvent.TWEEN_UPDATEmx.events.TweenEvent 每当效果更新目标时分派。分派此事件相当于调用 onMoveTweenUpdate()onScaleTweenUpdate() 方法。 tweenStart 在开始播放效果时分派此事件,相当于首次调用 onMoveTweenUpdate() 和 onScaleTweenUpdate() 方法。mx.events.TweenEvent.TWEEN_STARTmx.events.TweenEvent 在开始播放效果时分派此事件,相当于首次调用 onMoveTweenUpdate()onScaleTweenUpdate() 方法。Flex 还会同时为此效果首次分派 tweenUpdate 事件。

Effect.effectStart 事件在 tweenStart 事件之前分派。

MaskEffect 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。 getAffectedProperties 返回被此效果修改的组件属性。一个用于指定此效果修改的属性的名称的字符串 Array。 返回被此效果修改的组件属性。此方法返回一个包含 [ "visible", "width", "height" ] 的 Array。由于 WipeDown、WipeLeft、WipeRight 和 WipeDown 效果子类都修改相同的属性,所以这些类不会实现此方法。

如果通过子类化 MaskEffect 类创建自定义效果,并且该子类修改目标上的其它属性集,则必须覆盖此方法,并返回一个包含被子类修改的属性列表的 Array。

mx.effects.Effect.getAffectedProperties()
tweenEventHandler 当 TweenEffect 分派 TweenEvent 时调用此方法。eventmx.events:TweenEventTweenEvent 类型的事件对象。 当 TweenEffect 分派 TweenEvent 时调用此方法。如果覆盖此方法,请确保调用超级方法。 createMaskFunction 效果创建遮罩时调用的函数。 效果创建遮罩时调用的函数。默认值是返回与目标大小相同的 Rectangle 的函数。

自定义遮罩函数具有以下签名:

      public function createLargeMask(targ:Object, bounds:Rectangle):Shape
      {
          var myMask:Shape = new FlexShape();
     
          // Create mask.
     
          return myMask;
      }
      

自定义遮罩函数的一个参数对应于效果的目标组件,另一个参数用于定义目标尺寸,以便您正确设置遮罩大小。您可以使用此参数访问目标组件的 widthheight 等属性,以创建大小合适的遮罩。

此函数将返回一个用于定义遮罩的 Shape 对象。

moveEasingFunction 要用于移动遮罩的缓动函数。null 要用于移动遮罩的缓动函数。 scaleEasingFunction 要用于缩放遮罩的缓动函数。null 要用于缩放遮罩的缓动函数。 scaleXFrom 遮罩最初的 scaleX。 遮罩最初的 scaleX。

要指定此属性,您必须指定以下所有四个属性:scaleXFromscaleYFromscaleXToscaleX

scaleXTo 遮罩最终的 scaleX。 遮罩最终的 scaleX。

要指定此属性,您必须指定以下所有四个属性:scaleXFromscaleYFromscaleXToscaleX

scaleYFrom 遮罩最初的 scaleY。 遮罩最初的 scaleY。

要指定此属性,您必须指定以下所有四个属性:scaleXFromscaleYFromscaleXToscaleX

scaleYTo 遮罩最终的 scaleY。 遮罩最终的 scaleY。

要指定此属性,您必须指定以下所有四个属性:scaleXFromscaleYFromscaleXToscaleX

xFrom 遮罩初始位置的 x 坐标。 遮罩初始位置的 x 坐标。

要指定此属性,您必须指定以下所有四个属性:xFromyFromxToyTo

xTo 遮罩目标位置的 x 坐标。 遮罩目标位置的 x 坐标。

要指定此属性,您必须指定以下所有四个属性:xFromyFromxToyTo

yFrom 遮罩初始位置的 y 坐标。 遮罩初始位置的 y 坐标。

要指定此属性,您必须指定以下所有四个属性:xFromyFromxToyTo

yTo 遮罩目标位置的 y 坐标。 遮罩目标位置的 y 坐标。

要指定此属性,您必须指定以下所有四个属性:xFromyFromxToyTo

showTarget 指定目标组件是可见 (true) 还是不可见 (false)。true 指定如果为 true,则目标组件可见;如果为 false,则不可见。如果对 showEffecthideEffect 触发器指定了此效果,则 Flex 会为您设置 showTarget 属性。当组件可见时设置为 true,当组件不可见时设置为 false。如果对其它效果触发器应用此效果,则需要自行设置此属性,通常在 startEffect 事件的事件侦听器中进行设置。
SoundEffect SoundEffect 类用于播放 MP3 音频文件。The <mx:SoundEffect> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:SoundEffect
    Properties
    id="ID"
    autoLoad="true|false"
    bufferTime="1000"
    loops="0"
    panEasingFunction=""
    panFrom="0"
    source=""
    startTime="0"
    useDuration="true|false"
    volumeEasingFunction="true|false"
    volumeTo="1"
     
    Events
    complete="No default"
    id3="No default"
    ioError="No default"
    progress="No default"
  />
  
]]>
mx.effects:Effect SoundEffect 类用于播放 MP3 音频文件。例如,可以设置在用户单击 Button 控件时播放一种声音。此效果允许您重复播放声音、选择源文件以及控制音量和平移。

可以使用 source 属性指定 MP3 文件。如果已使用 Embed 关键字嵌入 MP3 文件,即可将 MP3 文件的 Class 对象传递给 source 属性。否则,为 MP3 文件指定完整的 URL。

mx.effects.effectClasses.SoundEffectInstanceflash.media.Soundprogress 加载声音文件时定期分派。flash.events.ProgressEvent.PROGRESSflash.events.ProgressEvent 加载声音文件时定期分派。

在事件对象内部,您可以访问当前已加载的字节数和要加载的总字节数。不保证一定会分派此事件,这意味着可能在未分派任何 progress 事件的情况下分派 complete 事件。

ioError 在加载声音文件期间发生错误时分派。flash.events.IOErrorEvent.IO_ERRORflash.events.IOErrorEvent 在加载声音文件期间发生错误时分派。 id3 当 ID3 数据可用于 MP3 声音文件时分派。flash.events.Event.ID3flash.events.Event 当 ID3 数据可用于 MP3 声音文件时分派。 complete 当声音文件完成加载时分派。flash.events.Event.COMPLETEflash.events.Event 当声音文件完成加载时分派。 SoundEffect 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。 load 如果 source 属性指向 URL,则加载 MP3。 如果 source 属性指向 URL,则加载 MP3。 bufferTime SoundEffect 类使用内部 Sound 对象来控制 MP3 文件。10001000 SoundEffect 类使用内部 Sound 对象来控制 MP3 文件。此属性指定声音数据应在 Sound 对象的缓冲区中存储的最短时间(以毫秒为单位)。在开始回放以及在网络中断后继续回放之前,Sound 对象将一直等待,直至至少拥有这一数量的数据为止。 loops 循环模式下播放该声音的次数,其中值 0 表示此效果播放一次,值 1 表示此效果播放两次,依此类推。00 循环模式下播放该声音的次数,其中值 0 表示此效果播放一次,值 1 表示此效果播放两次,依此类推。如果要重复播放 MP3 文件,也是使用 useDuration 属性的设置来确定回放时间。

duration 属性的优先级高于此属性的优先级。如果效果的持续时间短于播放一次声音所需的时间,则声音将不循环。

panEasingFunction 均衡效果的缓动函数。 均衡效果的缓动函数。使用此函数可在 panFrompanTo 的值之间进行插补。 panFrom Sound 对象的初始平移。0.0 Sound 对象的初始平移。此值介于 -1.0 和 1.0 之间,其中 -1.0 表示仅使用左声道,1.0 表示仅使用右声道,而 0.0 表示在两个声道间平均地均衡声音。 panTo Sound 对象的最终平移。0.0 Sound 对象的最终平移。此值介于 -1.0 和 1.0 之间,其中 -1.0 表示仅使用左声道,1.0 表示仅使用右声道,而 0.0 表示在两个声道间平均地均衡声音。 startTime MP3 文件中的初始位置(以毫秒为单位),应在此位置开始回放。00 MP3 文件中的初始位置(以毫秒为单位),应在此位置开始回放。 useDuration 如果为 true,则会在 duration 属性中指定的时间过后停止效果。truetrue 如果为 true,则会在 duration 属性中指定的时间过后停止效果。如果为 false,则会在 MP3 完成播放或循环后停止效果。 volumeEasingFunction 音量效果的缓动函数。 音量效果的缓动函数。此函数用于在 volumeFromvolumeTo 的值之间进行插补。 volumeFrom Sound 对象的初始音量。1 Sound 对象的初始音量。此值介于 0.0 和 1.0 之间。 volumeTo Sound 对象的最终音量。1 Sound 对象的最终音量。此值介于 0.0 和 1.0 之间。 autoLoad 如果为 true,则在指定 source 时加载 MP3 文件。true 如果为 true,则在指定 source 时加载 MP3 文件。 isLoading 如果已加载 MP3,则此属性为 true。 如果已加载 MP3,则此属性为 truesound 已加载 MP3 文件的 Sound 对象。 已加载 MP3 文件的 Sound 对象。 source 要播放的 MP3 文件的 URL 或类。 要播放的 MP3 文件的 URL 或类。如果已使用 Embed 关键字嵌入 MP3 文件,即可将 MP3 文件的 Class 对象传递给 source 属性。否则,为 MP3 文件指定完整的 URL。
TweenEffect TweenEffect 类是基于 Tween 对象的所有效果的 superclass。 在 Flex 3 中,TweenEffect 是动画效果的超类。自 Flex 4 起,Spark 效果将扩展 spark.effects.Animate 类而不是 TweenEffect。 The <mx:TweenEffect> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:TagName
    Properties
    easingFunction="easing function name; no default"
     
    Events
    tweenEnd="No default"
  />
  
]]>
mx.effects:Effect TweenEffect 类是基于 Tween 对象的所有效果的 superclass。此类封装了所有基于 Tween 的效果中常用的方法和属性,以避免在其他位置重复使用代码。

通过创建 TweenEffect 类的子类可定义在某段时间内播放动画的效果。例如,Resize 效果会在指定的时段内修改其目标的大小。

mx.effects.Tweenmx.effects.effectClasses.TweenEffectInstancetweenEnd 当补间效果结束时分派。mx.events.TweenEvent.TWEEN_ENDmx.events.TweenEvent 当补间效果结束时分派。此事件与调用 TweenEffectInstance.onTweenEnd() 方法相对应。

如果只播放一次补间效果,则此事件将与 effectEnd 事件同时发生。如果将补间效果配置为重复播放,则在每次重复播放效果结束时都会发生此事件,而在最后一次播放效果结束后发生 endEffect 事件。

tweenUpdate 每当补间效果更新目标时分派。mx.events.TweenEvent.TWEEN_UPDATEmx.events.TweenEvent 每当补间效果更新目标时分派。此事件与调用 TweenEffectInstance.onTweenUpdate() 方法相对应。 tweenStart 当开始播放补间效果时分派此事件,相当于首次调用 onTweenUpdate() 方法。mx.events.TweenEvent.TWEEN_STARTmx.events.TweenEvent 当开始播放补间效果时分派此事件,相当于首次调用 onTweenUpdate() 方法。Flex 还会同时为此效果首次分派 tweenUpdate 事件。

Effect.effectStart 事件在 tweenStart 事件之前分派。

TweenEffect 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。 tweenEventHandler 当 TweenEffect 分派 TweenEvent 时调用此方法。eventmx.events:TweenEventTweenEvent 类型的事件对象。 当 TweenEffect 分派 TweenEvent 时调用此方法。如果覆盖此方法,请确保调用超级方法。 easingFunction 动画的缓动函数。null 动画的缓动函数。此缓动函数用于在初始值和最终值之间进行插值。简单的缓动函数只能进行线性 interpolation,而比较高级的缓动函数可以创建加速和减速效果,使动画效果看起来更加自然。

如果未指定缓动函数,则使用基于 Math.sin() 方法的缓动函数。

该缓动函数位于 Robert Penner 编写的函数签名之后。该函数使用四个参数:第一个参数是“current time”,其中动画的开始时间是 0;第二个参数是动画开始时的初始值(一个 Number);第三个参数是结束值与初始值之间的差值;第四个参数是动画的持续时间。返回值是当前时间的插值。此值通常介于初始值和结束值之间。

此属性的值必须是一个函数对象。

Flex 在 mx.effects.easing 包中提供了一组缓动函数。

Tween Tween 类定义一个补间,此补间是在某个时段内对目标对象执行的属性动画。 在 Flex 3 中,Tween 是效果的基础动画类。自 Flex 4 起,Spark 效果将使用 spark.effects.animation.Animation 类提供相似的功能。 flash.events:EventDispatcher Tween 类定义一个补间,此补间是在某个时段内对目标对象执行的属性动画。该动画可以是对位置的更改(如 Move 效果)、对大小的更改(如 Resize 或 Zoom 效果)、对可见性的更改(如 Fade 或 Dissolve 效果),也可以是其他类型的动画。

当定义补间效果时,通常在 EffectInstance.play() 方法的覆盖部分创建一个 Tween 类实例。Tween 实例接受 startValueendValueduration 属性,并可选择使用缓动函数来定义动画效果。

在效果持续期间,Tween 对象将按固定的时间间隔对效果实例调用 mx.effects.effectClasses.TweenEffectInstance.onTweenUpdate() 回调函数,向 onTweenUpdate() 方法传递一个介于 startValueendValue 之间的插值。通常,回调函数会更新目标对象的特定属性,使该对象在效果持续期间呈示动画效果。

当效果结束时,Tween 对象将调用 mx.effects.effectClasses.TweenEffectInstance.onTweenEnd() 回调函数(如果已定义)。

mx.effects.TweenEffectmx.effects.effectClasses.TweenEffectInstanceTween 构造函数。listener在每个动画间隔通知的对象。通常会将 this 关键字作为其值进行传递。listener 必须定义 onTweenUpdate() 方法,并可以选择定义 onTweenEnd() 方法。前一种方法在动画效果的每个间隔期间调用,而后一种方法只在动画完成后调用。 startValue动画的初始值。可能是数字,也可能是数字数组。如果传递的是数字,则 Tween 会在此数字与传递给 endValue 参数的数字之间进行插值。如果传递的是数字数组,则插补数组中的每个数字。 endValue动画的最终值。此参数的类型必须与 startValue 参数相匹配。 duration-1动画的持续时间(以毫秒为单位)。 minFps-1onTweenUpdate() 方法在每秒钟的最少调用次数。补间代码会尝试尽量多调用 onTweenUpdate() 方法(每秒钟至多 100 次)。但是,如果频率低于 minFps,则动画的持续时间会自动增加。这样,由于未能获得任何 CPU 周期而暂时冻结的动画会从停止的地方重新开始,而不是突然向前跳跃。 updateFunctionnull指定用于代替 listener.OnTweenUpdate() 的备用更新回调函数 endFunctionnull指定用于代替 listener.OnTweenEnd() 的备用结束回调函数 构造函数。

调用此构造函数后,动画将自动开始播放。

endTween 中断补间,直接跳至补间的末尾,然后调用 onTweenEnd() 回调函数。 中断补间,直接跳至补间的末尾,然后调用 onTweenEnd() 回调函数。 pause 暂停效果,直到调用 resume() 方法。 暂停效果,直到调用 resume() 方法。 resume 在效果由 pause() 方法暂停后继续播放效果。 在效果由 pause() 方法暂停后继续播放效果。 reverse 从效果的当前位置开始反向播放效果。 从效果的当前位置开始反向播放效果。 seek 将补间效果前移到指定位置。playheadTime介于 0 和 duration 属性的值之间的位置(以毫秒为单位)。 将补间效果前移到指定位置。 setTweenHandlers 默认情况下,在效果持续期间,Tween 类将按固定时间间隔对效果实例调用 mx.effects.effectClasses.TweenEffectInstance.onTweenUpdate() 回调函数,并可以在效果结束时选择调用 mx.effects.effectClasses.TweenEffectInstance.onTweenEnd() 回调函数。updateFunction指定更新回调函数。 endFunction指定结束回调函数。 默认情况下,在效果持续期间,Tween 类将按固定时间间隔对效果实例调用 mx.effects.effectClasses.TweenEffectInstance.onTweenUpdate() 回调函数,并可以在效果结束时选择调用 mx.effects.effectClasses.TweenEffectInstance.onTweenEnd() 回调函数。

通过这种方法,您可以指定不同的方法作为更新回调函数和结束回调函数。

stop 停止补间,且无需分派事件,也无需调用 Tween 的 endFunction 或 onTweenEnd()。 停止补间,且无需分派事件,也无需调用 Tween 的 endFunction 或 onTweenEnd()duration 动画的持续时间(以毫秒为单位)。3000 动画的持续时间(以毫秒为单位)。 listener 在每个动画间隔通知的对象。 在每个动画间隔通知的对象。 easingFunction 为动画设置缓动函数。 为动画设置缓动函数。此缓动函数用于在 startValue 值和 endValue 值之间进行插值。简单的缓动函数只能进行线性 interpolation,而比较高级的缓动函数可以创建加速和减速效果,使动画效果看起来更加自然。

如果未指定缓动函数,则使用基于 Math.sin() 方法的缓动函数。

该缓动函数位于 Robert Penner 编写的函数签名之后。该函数使用四个参数:第一个参数是“current time”,其中动画的开始时间是 0;第二个参数是动画开始时的初始值(一个 Number)。第三个参数是结束值与初始值之间的差值;第四个参数是动画的持续时间。返回值是当前时间的内插值(通常是介于初始值和结束值之间的值)。

Flex 在 mx.effects.easing 包中提供了一组缓动函数。

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

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

mx.effects.EffectEffectInstance 构造函数。target要使用此效果为其设置动画的 UIComponent 对象。 构造函数。 end finishEffect finishRepeat initEffect event为触发效果而分派的 Event 对象。例如,如果触发器是 mouseDownEffect,则事件可能是类型等效于 MouseEvent.MOUSEDOWN 的 MouseEvent。 pause play resume reverse startEffect stop playCount 已播放实例的次数。0 已播放实例的次数。 className duration effectTargetHost mx.effects:IEffectTargetHost effect mx.effects:IEffect hideFocusRing playheadTime 效果的当前时间位置。 效果的当前时间位置。此属性的值介于 0 和总持续时间(包括该效果的 startDelayrepeatCountrepeatDelay)之间。 propertyChanges mx.effects.effectClasses:PropertyChanges repeatCount repeatDelay startDelay suspendBackgroundProcessing target triggerEvent
Zoom Zoom 效果放大或缩小中心点上的对象。 The <mx:Zoom> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:Zoom
    id="ID"
    captureRollEvents="false|true"
    originX="Calculated"
    originY="Calculated"
    zoomWidthFrom="0.01"
    zoomWidthTo="1.0"
    zoomHeightFrom="0.01"
    zoomHeightTo="1.0"
  />
  
]]>
mx.effects:TweenEffect Zoom 效果放大或缩小中心点上的对象。

将 Zoom 效果应用到使用系统字体呈示的文本时,Flex 缩放整个磅值之间的文本。尽管将 Zoom 效果应用到文本时不必使用嵌入的字体,但将 Zoom 效果应用到嵌入的字体时,它将更加平滑。

注意:Container.autoLayout 属性为 false 时,Zoom 效果不起作用。

mx.effects.effectClasses.ZoomInstancemx.managers.LayoutManagerZoom 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。 captureRollEvents 如果为 true,将阻止 Flex 在鼠标未发生过移动的情况下分派 rollOut 和 rollOver 事件。false 如果为 true,将阻止 Flex 在鼠标未发生过移动的情况下分派 rollOutrollOver 事件。使用 Zoom 效果在较大大小和较小大小之间切换效果目标时,将此属性设置为 true

例如,可使用 rollOverEffect 触发 Zoom 效果来缩小目标。目标收缩后,鼠标指针将不再位于目标上方,随之触发 rollOut 事件和相应的 rollOutEffect。通过将 captureRollEvents 属性设置为 true,可以防止 Flex 分派 rollOut 事件,除非因移动鼠标发生此事件。

originX 代表当效果目标位于支持绝对定位的容器(如 Canvas 容器)中时缩放原点 x 位置的数字。 代表当效果目标位于支持绝对定位的容器(如 Canvas 容器)中时缩放原点 x 位置的数字。缩放原点是目标上作为 Zoom 效果中心的位置。

此值必须介于 0 和目标组件的宽度之间。

默认值为 target.width / 2,这是目标的中心。
originY 代表当效果目标位于支持绝对定位的容器(如 Canvas 容器)中时缩放原点 y 位置的数字。 代表当效果目标位于支持绝对定位的容器(如 Canvas 容器)中时缩放原点 y 位置的数字。缩放原点是目标上作为 Zoom 效果中心的位置。

此值必须介于 0 和目标组件的高度之间。

默认值为 target.height / 2,此位置是目标的中心。
zoomHeightFrom 一个介于 0.01 和 1.0 之间的百分比数值,代表开始进行高度缩放时的缩放比例。 一个介于 0.01 和 1.0 之间的百分比数值,代表开始进行高度缩放时的缩放比例。默认值为 0.01,此时显示的高度非常小。 zoomHeightTo 一个介于 0.01 和 1.0 之间的百分比数值,代表完成高度缩放时的缩放比例。 一个介于 0.01 和 1.0 之间的百分比数值,代表完成高度缩放时的缩放比例。默认值为 1.0,此时对象显示为正常高度。 zoomWidthFrom 一个介于 0.01 和 1.0 之间的百分比数值,代表开始进行宽度缩放时的缩放比例。 一个介于 0.01 和 1.0 之间的百分比数值,代表开始进行宽度缩放时的缩放比例。默认值为 0.01,此时显示的宽度非常小。 zoomWidthTo 一个介于 0.01 和 1.0 之间的百分比数值,代表完成宽度缩放时的缩放比例。 一个介于 0.01 和 1.0 之间的百分比数值,代表完成宽度缩放时的缩放比例。默认值为 1.0,此时对象显示为正常宽度。
AnimateProperty AnimateProperty 效果可为组件的属性或样式设置动画效果。The <mx:AnimateProperty> tag inherits all the tag attributes of its superclass and adds the following tag attributes:

  <mx:AnimateProperty 
    id="ID"
   fromValue="0"
    isStyle="false|true"	 
    property="required"
    roundValue="false|true"
    toValue="0" 
  />
  
]]>
mx.effects:TweenEffect AnimateProperty 效果可为组件的属性或样式设置动画效果。可通过设置属性名称、属性的开始值和结束值来设置动画效果。此效果会将该属性设置为初始值,然后在播放效果期间更新此属性值,直到到达结束值。

例如,要更改 Button 控件的宽度,您可以指定 width 作为要设置动画的属性,并指定效果的起始值和最终宽度值。

mx.effects.effectClasses.AnimatePropertyInstanceAnimateProperty 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。 fromValue 用于设置效果的属性的起始值。 用于设置效果的属性的起始值。默认值是目标的当前属性值。 isStyle 如果为 true,则属性特性是一个样式,您可以使用 setStyle() 方法对其进行设置。falsefalse 如果为 true,则属性特性是一个样式,您可以使用 setStyle() 方法对其进行设置。 property 要设置动画的目标上属性的名称。 要设置动画的目标上属性的名称。此属性是必需的。 roundValue 如果为 true,则会将插补的补间值舍入到最接近的整数。falsefalse 如果为 true,则会将插补的补间值舍入到最接近的整数。如果您设置动画的属性是 int 或 uint 类型,则此属性会很有用。 toValue 该效果的结束值。 该效果的结束值。默认值是目标的当前属性值。
Move Move 效果在指定的时间间隔内随时间更改组件的位置。 The <mx:Move> tag inherits all of the tag attributes of its of its superclass, and adds the following tag attributes:

  <mx:Move
    id="ID"
    xFrom="val" 
    yFrom="val"
    xTo="val"
    yTo="val"
    xBy="val"
    yBy="val"
   />
  
]]>
mx.effects:TweenEffect Move 效果在指定的时间间隔内随时间更改组件的位置。您可以使用 xFromyFrom 值指定初始位置,使用 xToyTo 指定目标位置,或者使用 xByyBy 指定像素数目来移动组件。

如果指定值初始位置、目标位置或移动量这些值中的任意两个,则 Flex 会计算第三个值。如果指定所有这三个值,则 Flex 会忽略 xByyBy 值。如果仅指定 xToyTo 值或 xByyBy 值,则 Flex 会将 xFromyFrom 设置为对象的当前位置。

如果指定 moveEffect 触发器的 Move 效果,并且不设置六个 From、To 和 By 属性,则 Flex 会设置它们来创建从对象的原始位置到其新位置的平滑过渡。

通常,您将此效果应用到使用绝对定位的容器(如 Canvas)或使用 "layout=absolute" 的容器(如 Application 或 Panel)中的目标。如果您将其应用到执行自动布局的容器(如 VBox 或 Grid 容器)中的目标,则会移动目标,但下次容器更新其布局时,会将目标移回其原始位置。您可以将容器的 autoLayout 属性设置为 false 来禁止往回移动,但这会禁用容器中所有控件的布局。

mx.effects.effectClasses.MoveInstanceMove 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。 xBy 组件沿 x 轴移动的像素数目。 组件沿 x 轴移动的像素数目。此值可以为负值。 xFrom 初始位置的 x 坐标。 初始位置的 x 坐标。 xTo 目标位置的 x 坐标。 目标位置的 x 坐标。 yBy 组件沿 y 轴移动的像素数目。 组件沿 y 轴移动的像素数目。此值可以为负值。 yFrom 初始位置的 y 坐标。 初始位置的 y 坐标。 yTo 目标位置的 y 坐标。 目标位置的 y 坐标。
Iris Iris 效果通过扩展或收缩集中在目标上的矩形蒙版为效果目标设置动画。The <mx:Iris> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:Iris
    id="ID"
  />
  
]]>
mx.effects:MaskEffect Iris 效果通过扩展或收缩集中在目标上的矩形遮罩为效果目标设置动画。该效果可以从目标的中心放大遮罩来显示目标,也可以向中心收缩遮罩来隐藏目标。 mx.effects.effectClasses.IrisInstanceIris 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。
Sequence Sequence 效果以子效果的添加顺序依次播放多个子效果。The <mx:Sequence> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:Sequence id="identifier">
    <mx:children>
      <!-- Specify child effect tags --> 
    </mx:children>
  </mx:Sequence>
  
]]>
mx.effects:CompositeEffect Sequence 效果以子效果的添加顺序依次播放多个子效果。

您可以在 MXML 中创建 Sequence 效果,如下例所示:

  <mx:Sequence id="WipeRightUp">
    <mx:children>
      <mx:WipeRight duration="1000"/>
      <mx:WipeUp duration="1000"/>
    </mx:children>
  </mx:Sequence>
  
  <mx:VBox id="myBox" hideEffect="{WipeRightUp}">
    <mx:TextArea id="aTextArea" text="hello"/>
  </mx:VBox>
  

请注意,<mx:children> 标签是可选的。

在 ActionScript 中启动 composite 效果通常分为五个步骤:

  1. 创建要组合到一起的效果对象的实例,例如:
    myFadeEffect = new mx.effects.Fade(target);
  2. 在各个效果对象上设置属性,如 duration
  3. 创建 Sequence 效果对象的实例,例如:
    mySequenceEffect = new mx.effects.Sequence();
  4. 针对每个效果对象调用 addChild() 方法,例如:
    mySequenceEffect.addChild(myFadeEffect);
  5. 调用 Sequence 效果的 play() 方法,例如:
    mySequenceEffect.play();
mx.effects.effectClasses.SequenceInstanceSequence 构造函数。targetnullSequence 效果会忽略此参数。包含此参数的目的只是为了与其他类型的效果保持一致。 构造函数。 compositeDuration 返回此效果的持续时间,由所有子效果的持续时间进行定义。 返回此效果的持续时间,由所有子效果的持续时间进行定义。这会考虑所有子效果的 startDelay 和重复信息,以及其持续时间,并返回相应的结果。
Dissolve 将组件的动画效果设置为从透明到不透明,或从不透明到透明。The <mx:Dissolve> tag inherits the tag attributes of its superclass, and adds the following tag attributes:

  <mx:Dissolve
    id="ID"
    alphaFrom="val"
    alphaTo="val"
    color="val"
  />
  
]]>
mx.effects:TweenEffect 将组件的动画效果设置为从透明到不透明,或从不透明到透明。播放 Dissolve 效果时,它将执行下列操作:
  1. 当开始播放效果时,它将创建一个不透明的矩形。此矩形悬浮在目标组件上方,它的颜色符合 Dissolve.color 属性,并且其 alpha 属性最初设置为 (1.0 - Dissolve.alphaFrom)。
  2. 随着效果播放,此矩形的 alpha 属性将从 (1.0 - alphaFrom) 演变到 (1.0 - alphaTo)。随着该矩形变得越来越不透明,其下方的内容逐渐消失。
  3. 完成效果后,矩形将被破坏。

如果目标对象是一个 Container,则 Dissolve 效果将应用于容器内部的内容区域。内容区域指容器背景颜色可见的区域。

注意:要将 Dissolve 效果用于 DataGrid 控件的 creationCompleteEffect 触发器,您必须使用 DataGrid 控件的子标签或使用数据绑定为控件定义内嵌的数据提供程序。此问题是由于在分派 creationComplete 事件前尚未设置数据提供程序导致的。因此,当开始播放效果时,Flex 尚未完成 DataGrid 控件的大小设置。

mx.effects.effectClasses.DissolveInstancemx.effects.Tweenmx.effects.TweenEffectDissolve 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。 alphaFrom 介于 0.0 和 1.0 之间的初始透明度级别,其中 0.0 表示透明,1.0 表示完全不透明。 介于 0.0 和 1.0 之间的初始透明度级别,其中 0.0 表示透明,1.0 表示完全不透明。

如果效果导致目标组件消失,则默认值为目标的 alpha 属性的当前值。如果效果导致目标组件显示,则默认值为 0.0。

alphaTo 介于 0.0 和 1.0 之间的最终透明度级别,其中 0.0 表示透明,1.0 表示完全不透明。 介于 0.0 和 1.0 之间的最终透明度级别,其中 0.0 表示透明,1.0 表示完全不透明。

如果效果导致目标组件消失,则默认值为 0.0。如果效果导致目标组件显示,则默认值为目标的 alpha 属性的当前值。

color 一个十六进制值,代表效果显示在目标对象上方的浮动矩形的颜色。0xFFFFFFFF 一个十六进制值,代表效果显示在目标对象上方的浮动矩形的颜色。默认值是由目标组件的 backgroundColor 样式属性指定的颜色;如果未设置 backgroundColor,则为 0xFFFFFF。 targetArea 要对其播放效果的目标区域。mx.geom:RoundedRectanglenull 要对其播放效果的目标区域。具有溶解效果的叠加层是使用此属性的尺寸绘制的。UIComponents 将在整个组件上创建叠加层。容器会在其内容区域上方创建一个叠加层,而不是在镶边上方创建。
Blur 通过 Blur 效果,您可以对组件应用模糊视觉效果。 在 Flex 4 中,会将 AnimateFilter 效果与 Blur 位图过滤器一起使用。 The <mx:Blur> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:Blur
    id="ID"
    blurXFrom="val"
    blurXTo="val"
    blurYFrom="val"
    blurYTo="val"
  />
  
]]>
mx.effects:TweenEffect 通过 Blur 效果,您可以对组件应用模糊视觉效果。模糊效果可以柔化图像的细节。您可以生成一些模糊效果,范围从创建一个柔化的、未聚焦的外观到高斯模糊(就像通过半透明玻璃查看图像一样的朦胧的外观)。

Blur 效果将 Flash BlurFilter 类用作其实现的一部分。有关详细信息,请参见 flash.filters.BlurFilter。

如果对某个组件应用了 Blur 效果,则无法再对该组件应用 BlurFilter,也无法再次应用 Blur 效果。

flash.filters.BlurFiltermx.effects.effectClasses.BlurInstanceBlur 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。 blurXFrom 起始水平模糊量。44 起始水平模糊量。有效值为 0.0 到 255.0。 blurXTo 终止水平模糊量。00 终止水平模糊量。有效值为 0.0 到 255.0。 blurYFrom 起始垂直模糊量。44 起始垂直模糊量。有效值为 0.0 到 255.0。 blurYTo 终止垂直模糊量。00 终止垂直模糊量。有效值为 0.0 到 255.0。
IEffect IEffect 接口定义所有 Flex 效果的基本接口。mx.effects:IAbstractEffect IEffect 接口定义所有 Flex 效果的基本接口。IEffectInstance 接口定义所有效果实例子类的基本接口。 mx.effects.IEffectInstancecaptureEndValues 捕获效果目标上相关属性的当前值,并将这些值另存为结束值。 捕获效果目标上相关属性的当前值,并将这些值另存为结束值。

如果此效果是数据更改效果的一部分,Flex 会自动调用 captureEndValues() 方法。

captureMoreStartValues 捕获另一组目标相关属性的当前值。在运行数据更改效果时,Flex 将使用此函数。 targets要捕获其值的目标的数组 捕获另一组目标相关属性的当前值

在运行数据更改效果时,Flex 将使用此函数。

captureStartValues 捕获效果目标上相关属性的当前值。 捕获效果目标上相关属性的当前值。Flex 会在转移效果过程中自动调用 captureStartValues() 方法。

如果希望效果指出此效果的起始值和结束值,请使用此函数。下面是使用此函数的正确步骤:

  1. 调用 captureStartValues() 方法。效果捕获效果起始值。
  2. 更改效果目标,如添加/删除子项、更改属性、更改位置或更改尺寸。
  3. 调用 play() 方法。此效果将捕获结束值。此函数会为此效果创建的每个效果实例填充 EffectInstance.propertyChanges 属性。效果开发人员可以使用 propertyChanges 属性检索其效果的起始值和结束值。
createInstance 创建一个效果实例并对其进行初始化。效果的效果实例对象。 mx.effects:IEffectInstancetargetnull要使用此效果为其设置动画的对象。 创建一个效果实例并对其进行初始化。在播放效果实例前,使用此方法(而非 play() 方法)处理效果实例属性。

所创建的效果实例的类型由 instanceClass 属性指定。然后,使用 initInstance() 方法初始化此实例。如果该实例是 EffectManager 在效果触发器触发此效果时创建的,则还需要调用 EffectInstance.initEffect() 方法进一步初始化此效果。

调用 createInstance() 方法不会播放效果。对返回的效果实例调用 startEffect() 方法。

Effect.play() 方法将自动调用此函数。

createInstances 获取一个目标对象 Array,并对每个目标调用 createInstance() 方法。效果的效果实例对象的数组,一个目标一个数组。 targetsnull要使用此效果设置动画的对象的数组。 获取一个目标对象 Array,并对每个目标调用 createInstance() 方法。 deleteInstance 删除实例中的事件侦听器,然后从实例列表中删除该实例。instancemx.effects:IEffectInstance效果实例。 删除实例中的事件侦听器,然后从实例列表中删除该实例。 end 中断当前正在播放的效果,立即跳转到该效果的末尾。effectInstancemx.effects:IEffectInstancenull要终止的 EffectInstance。 中断当前正在播放的效果,立即跳转到该效果的末尾。调用此方法将调用 EffectInstance.end() 方法。

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

如果将效果实例作为参数传递,则会中断此实例。如果没有传入参数,则该效果当前生成的所有效果实例都将中断。

mx.effects.EffectInstance.end()
getAffectedProperties 返回一个字符串 Array,其中每个 String 都是被此效果更改的属性的名称。一个用于指定此效果修改的属性的名称的字符串 Array。 返回一个字符串 Array,其中每个 String 都是被此效果更改的属性的名称。例如,Move 效果会返回一个包含 "x""y" 的 Array。

Effect 的每个子类都必须实现此方法。EffectManager 使用此方法来避免试图同时对同一对象的相同属性设置两种不同的动画效果。

pause 暂停效果,直到调用 resume() 方法。 暂停效果,直到调用 resume() 方法。 play 开始播放效果。效果的 EffectInstance 对象的数组,一个目标一个数组。 targetsnull播放此效果的目标对象的数组。如果已指定此参数,则不会使用效果的 targets 属性。 playReversedFromEndfalse如果为 true,则向后播放效果。 开始播放效果。通常在调用 play() 方法之前先调用 end() 方法,以确保在开始播放新效果前已结束先前效果的所有实例。

所有子类都必须实现此方法。

resume 在效果由 pause() 方法暂停后继续播放效果。 在效果由 pause() 方法暂停后继续播放效果。 reverse 逆序播放效果;如果当前正在播放效果,则从该效果的当前位置开始逆序播放。 逆序播放效果;如果当前正在播放效果,则从该效果的当前位置开始逆序播放。 stop 停止播放效果,使效果目标保持当前状态。 停止播放效果,使效果目标保持当前状态。与调用 pause() 方法不同,无法先调用 stop() 方法再调用 resume() 方法。不过,您可以调用 play() 方法重新播放效果。

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

对于遮罩效果,停止播放效果后不会自动删除遮罩。如果事先没有删除遮罩就继续对同一目标运行遮罩效果,可能会出现意外结果。

className 效果类的名称,如“Fade”。 效果类的名称,如 "Fade"

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

customFilter 指定一个 EffectTargetFilter 类型的自定义滤镜对象,效果将使用此对象来确定播放效果的目标。mx.effects:EffectTargetFilternull 指定一个 EffectTargetFilter 类型的自定义滤镜对象,效果将使用此对象来确定播放效果的目标。

只有在播放效果之前调用 captureStartValues() 方法时,才执行目标过滤。Flex 会在转移效果过程中自动调用 captureStartValues() 方法。

使用 filter 属性可实现简单过滤。如果 customFilter 属性值非空,则会忽略 filter 属性。

mx.effects.EffectTargetFilter
duration 效果的持续时间(以毫秒为单位)。500 效果的持续时间(以毫秒为单位)。

在 Parallel 或 Sequence 效果中,可通过 duration 属性设置每种效果的持续时间。例如,如果 Sequence 效果的 duration 属性设置为 3000,则 Sequence 中的每个效果都会播放 3000 毫秒。

对于重复播放的效果来说,duration 属性将指定效果各个实例的持续时间。因此,如果某个效果的 duration 属性设置为 2000,并且 repeatCount 属性设置为 3,则播放此效果共需要 6000 毫秒(6 秒)。

effectTargetHost 一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。mx.effects:IEffectTargetHost 一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。通过设置此属性,效果类的实例将能够访问播放此效果的基于列表的控件。 filter 指定用于过滤效果目标的算法。null 指定用于过滤效果目标的算法。如果此值为 null,将指定不进行任何过滤。

只有在播放效果之前调用 captureStartValues() 方法时,才执行目标过滤。当转移过程或基于列表的控件的数据效果中需使用该效果时,Flex 会自动调用 captureStartValues() 方法。

使用此属性可实现简单过滤。使用 customFilter 属性可实现更为复杂的过滤。如果 customFilter 属性值非空,则会忽略此属性。

filter 属性可使用以下值:

  • 如果将此值设置为 "add",则可以在作为子项添加到容器的任何目标上播放效果。
  • 如果将此值设置为 "addItem",则可以在添加到 List 或 TileList 控件的任何列表项的项呈示器上播放效果。
  • 如果将此值设置为 "hide",则可以在已将 visible 属性从 true 更改为 false 的任何目标上播放效果。
  • 如果将此值设置为 "move",则可以在更改了 xy 属性的任何目标上播放效果。
  • 如果将此值设置为 "remove",则可以在已作为容器子项删除的任何目标上播放效果。
  • 如果将此值设置为 "removeItem",则可以在从 List 或 TileList 控件中删除的任何列表项的项呈示器上播放效果。
  • 如果将此值设置为 "replacedItem",则可以在 List 或 TileList 控件中被替换为新项目的任何列表项的项呈示器上播放效果。
  • 如果将此值设置为 "replacementItem",则可以在添加到 List 或 TileList 控件中用以替换现有项目的任何列表项的项呈示器上播放效果。
  • 如果将此值设置为 "resize",则可以在更改了 widthheight 属性的任何目标上播放效果。
  • 如果将此值设置为 "show",则可以在已将 visible 属性从 false 更改为 true 的任何目标上播放效果。
  • 如果将此值设置为 "",则指定不进行任何过滤。
hideFocusRing 确定在开始播放效果时,效果是否应隐藏对焦环。 确定在开始播放效果时,效果是否应隐藏对焦环。效果目标负责隐藏对焦环。UIComponent 类的子类将自动隐藏对焦环。如果效果目标不是 UIComponent 类的子类,则必须向其添加隐藏对焦环的功能。

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

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

isPlaying 一个只读标志,如果当前正在播放效果的任一实例,则为 true;否则,则为 false。 一个只读标志,如果当前正在播放效果的任一实例,则为 true;否则,则为 false。 perElementOffset 在效果的第一个目标之后,其他效果目标的附加延迟(以毫秒为单位)。 在效果的第一个目标之后,其他效果目标的附加延迟(以毫秒为单位)。此值将添加到 startDelay 属性的值中。 playheadTime 效果的当前时间位置。 效果的当前时间位置。此属性的值介于 0 和总持续时间(包括该效果的 startDelayrepeatCountrepeatDelay)之间。 relevantProperties 一个属性名称 Array,执行过滤时将使用这些名称。 一个属性名称 Array,执行过滤时将使用这些名称。此属性仅供内部使用,效果用户不应设置此属性。

默认值为 getAffectedProperties() 方法返回的 Array。

relevantStyles 一个样式名称 Array,执行过滤时将使用这些名称。 一个样式名称 Array,执行过滤时将使用这些名称。此属性仅供内部使用,效果用户不应设置此属性。

默认值为 getAffectedProperties() 方法返回的 Array。

target 要应用此效果的对象。 要应用此效果的对象。当效果触发器触发某个效果时,会自动将 target 属性设置为触发该效果的对象。 targets 一个对象 Array,这些对象都是效果的目标。 一个对象 Array,这些对象都是效果的目标。播放效果时,会对各个目标并行执行效果。设置 target 属性将替换此 Array 中的所有对象。设置 targets 属性后,target 属性将返回此 Array 中的第一个项目。 triggerEvent 如果触发了某个效果,则此项目是由 EffectManager 传递给此 Effect 的 Event 对象;如果 EffectManager 当前没有播放此效果,则为 null。 如果触发了某个效果,则此项目是由 EffectManager 传递给此 Effect 的 Event 对象;如果 EffectManager 当前没有播放此效果,则为 null
Pause Pause 效果在对效果进行排序时很有用。The <mx:Pause> tag inherits all the tag attributes of its superclass, and adds the following tag attributes:

  <mx:Pause 
    id="ID" 
    eventName="null"
  />
  
]]>
mx.effects:TweenEffect Pause 效果在对效果进行排序时很有用。在指定时间段内或在目标分派指定事件之前,它不执行任何操作。如果将 Pause 效果添加为 Sequence 效果的子项,可以创建两个其他效果之间的暂停。 mx.effects.effectClasses.PauseInstancePause 构造函数。targetnull如果未指定任何 eventName 属性,则 Pause 效果会忽略此参数。如果存在一个 eventName,则目标必须是 IEventDispatcher 类型的一个对象,因为它应分派该命名的事件。此效果允许一个 null 目标,因为仅有一个 duration 属性的 Pause 效果未对任何特定目标起作用,因此不需要目标。 构造函数。 eventName 在结束之前,Pause 一直在等待的事件的名称。 在结束之前,Pause 一直在等待的事件的名称。此参数必须与 target 属性(必须采用 IEventDispatcher 类型)联合使用;所有事件必须源于某些分派程序。

eventName 的侦听也与 duration 属性相关,该属性充当该事件的超时。如果未在由 duration 指定的时间段内收到该事件,则该效果无论如何都将结束。

此属性是可选的;默认操作是播放而不等待任何事件。

duration duration 属性控制此效果将暂停的时间。500 duration 属性控制此效果将暂停的时间。如果未对此效果设置 eventName,则该 duration 还将充当等待事件被触发的一个超时。如果 duration 小于 0,则该效果将无限期等待事件被触发。如果将该属性设置为任何其他时间(包括 0),则以下任一情况先发生时,该效果都会结束:该持续时间已耗用时,或命名的事件触发时。 mx.effects.IEffect.duration
CompositeEffect CompositeEffect 类是 Parallel 类和 Sequence 类的父类,这两个类定义 &lt;mx:Parallel&gt; 和 &lt;mx:Sequence&gt; MXML 标签。The CompositeEffect class adds the following tag attributes, and all the subclasses of the CompositeEffect class inherit these tag attributes:

  <mx:tagname>
    <mx:children>
      <!-- Specify child effect tags --> 
    </mx:children>
  </mx:tagname>
  
]]>
mx.effects:Effect CompositeEffect 类是 Parallel 类和 Sequence 类的父类,这两个类定义 <mx:Parallel><mx:Sequence>MXML 标签。Flex 支持采用以下两种方法来组合或复合效果:并行和排序。以并行方式组合多个效果时,会同时播放这些效果。以排序方式组合多个效果时,在下一效果开始之前必须完成上一个效果。

您可以在 MXML 中创建复合效果,如以下示例所示:

  <mx:Parallel id="WipeRightUp">
    <mx:children>
      <mx:WipeRight duration="1000"/>
      <mx:WipeUp duration="1000"/>
    </mx:children>
  </mx:Parallel>
   
  <mx:VBox id="myBox" hideEffect="WipeRightUp">
    <mx:TextArea id="aTextArea" text="hello"/>
  </mx:VBox>
  

<mx:children> 标签是可选的。

在 ActionScript 中启动 composite 效果通常分为五个步骤:

  1. 创建要组合到一起的效果对象的实例,例如:
    myFadeEffect = new mx.effects.Fade(target);
  2. 在各个效果对象上设置属性,如 duration
  3. 创建 Parallel 或 Sequence 效果对象的实例;例如:
    mySequenceEffect = new mx.effects.Sequence();
  4. 针对每个效果对象调用 addChild() 方法,例如:
    mySequenceEffect.addChild(myFadeEffect);
  5. 调用复合效果的 play() 方法;例如:
    mySequenceEffect.play();
CompositeEffect 构造函数。targetnull复合效果会忽略此参数。包含此参数的目的只是为了与其他类型的效果保持一致。 构造函数。 addChild 将新的子效果添加到此复合效果。childEffectmx.effects:IEffect要添加到复合效果的子效果。 将新的子效果添加到此复合效果。Sequence 效果按照子效果的添加顺序播放子效果,一次播放一个。Parallel 效果同时播放所有子效果;添加子效果的顺序无关紧要。 children 包含此 CompositeEffect 的子效果的数组。 包含此 CompositeEffect 的子效果的数组。 compositeDuration 返回此效果的持续时间,由所有子效果的持续时间进行定义。 返回此效果的持续时间,由所有子效果的持续时间进行定义。这会考虑所有子效果的 startDelay 和重复信息,以及其持续时间,并返回相应的结果。
IEffectTargetHost IEffectTargetHost 接口定义允许您访问数据效果的基于目标 list 控件的接口。 IEffectTargetHost 接口定义允许您访问数据效果的基于目标 list 控件的接口。所有基于列表的控件实现此接口。此接口启用效果类的实例与播放效果的基于列表的控件进行通信。此接口还用于确定是否基于已在目标控件中添加、删除或替换数据项目播放效果。 mx.controls.listClasses.ListBaseaddDataEffectItem 如果正在运行数据更改效果,则添加项呈示器。target要添加到控件布局中的项呈示器。 如果正在运行数据更改效果,则添加项呈示器。项呈示器应与数据提供程序集合中最近添加但尚未显示的数据项目对应。

此函数将作为数据更改效果的一部分由 AddItemAction 效果调用,用以指定使用项呈示器的控件开始显示添加到集合中的项目的时间点。

getRendererSemanticValue 返回 true 或 false 以指示是否应在目标上播放效果。truefalse,指示是否应在目标对象中播放效果。 target项呈示器 semanticProperty要返回其值的呈示器的语义属性。 返回 truefalse 以指示是否应在目标上播放效果。当您在数据效果上设置 filter 属性时,EffectTargetFilter 类调用此方法。例如,将 filter 属性设置为 addItemremoveItemremoveDataEffectItem 如果正在运行数据更改效果,则移除项呈示器。target要从控件布局中删除的项呈示器。 如果正在运行数据更改效果,则移除项呈示器。项呈示器必须与从数据提供程序集合中移除的数据对应。此函数将作为数据更改效果的一部分由 RemoveItemAction 效果调用,用以指定使用项呈示器的控件停止显示数据项目的时间点。 unconstrainRenderer 如果对应于特定数据项目的项呈示器需要移动到控件中项呈示器的正常位置之外,则将作为数据更改效果的一部分由 UnconstrainItemAction 效果调用。item作为效果目标的项呈示器。 如果对应于特定数据项目的项呈示器需要移动到控件中项呈示器的正常位置之外,则将作为数据更改效果的一部分由 UnconstrainItemAction 效果调用。该控件不会尝试定位效果的持续时间的项呈示器。
SetStyleAction SetStyleAction 类定义对应于视图状态定义的 SetStyle 属性的动画效果。The <mx:SetStyleAction> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:SetStyleAction
    Properties
    id="ID"
    style=""
    value=""
  />
  
]]>
mx.effects:Effect SetStyleAction 类定义对应于视图状态定义的 SetStyle 属性的动画效果。使用过渡定义中的 SetStyleAction 效果控制在过渡期间何时发生 SetStyle 属性定义的视图状态更改。 mx.effects.effectClasses.SetStyleActionInstancemx.states.SetStyleSetStyleAction 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。 name 正在更改的样式属性的名称。 正在更改的样式属性的名称。默认情况下,Flex 根据视图状态定义中的 SetStyle 属性定义确定该值。 value 样式属性的新值。 样式属性的新值。默认情况下,Flex 根据视图状态定义中的 SetStyle 属性定义确定该值。 relevantStyles 包含此效果修改的样式属性。 包含此效果修改的样式属性。此 getter 方法覆盖 superclass 方法。

如果创建此类的子类来创建自定义效果,则必须覆盖此方法并返回包含子类修改的样式属性列表的 Array。

mx.effects.Effect.getAffectedProperties()
Rotate Rotate 效果可围绕指定的点旋转组件。 The <mx:Rotate> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:Rotate
    id="ID"
    angleFrom="0"
    angleTo="360"
    originX="0"
    originY="0"
  />
  
]]>
mx.effects:TweenEffect Rotate 效果可围绕指定的点旋转组件。您可以指定旋转中心的坐标以及旋转的起始角度和最终角度。既可以指定正角度值,也可以指定负角度值。

注意:要对文本使用 Rotate 效果,必须使用嵌入字体,而不是设备字体。

mx.effects.effectClasses.RotateInstanceRotate 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。 angleFrom 目标对象的起始旋转角度(以度表示)。00 目标对象的起始旋转角度(以度表示)。有效值范围是 0 到 360。 angleTo 目标对象结束旋转时的角度(以度表示)。360360 目标对象结束旋转时的角度(以度表示)。此值可以是正值也可以是负值。

如果 angleTo 的值比 angleFrom 的值小,则目标沿逆时针方向旋转。否则,它将以顺时针方向旋转。如果希望对目标进行多次旋转,请将此值设置为较大的正数或较小的负数。

originX 旋转中心点的 x 位置。0 旋转中心点的 x 位置。目标将围绕此点进行旋转。有效值介于 0 和目标的宽度之间。 originY 旋转中心点的 y 位置。0 旋转中心点的 y 位置。目标将围绕此点进行旋转。有效值介于 0 和目标的高度之间。 hideFocusRing 确定在开始播放效果时,效果是否应隐藏对焦环。true 确定在开始播放效果时,效果是否应隐藏对焦环。目标本身负责实际隐藏对焦环。
EffectTargetFilter EffectTargetFilter 类定义每个效果目标上的每个过渡效果执行的自定义滤镜。Object EffectTargetFilter 类定义每个效果目标上的每个过渡效果执行的自定义滤镜。

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

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

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

EffectTargetFilter 构造函数。 构造函数。 defaultFilterFunction EffectTargetFilter 类的默认滤镜函数。返回 true 以允许播放效果实例。 propChangesPropertyChanges 对象的 Array。每个 PropertyChanges 对象的 target 属性等同于效果的目标。如果过渡未修改目标的属性,则对应的 PropertyChanges 对象不包括在此数组中。 instanceTarget调用此函数的 EffectInstance 的目标。如果效果包含多个目标,则每个目标调用此函数一次。 EffectTargetFilter 类的默认滤镜函数。如果 instanceTarget 对于 filterPropertiesfilterStyles 属性指定的任意值包含不同的开始值和结束值,则在目标上播放效果。 mx.effects.effectClasses.PropertyChangesfilterInstance 确定是否应该过滤目标,如果该目标应包含在效果中,则返回 true。如果目标应包括在效果中,则为 true,否则返回 falsepropChangesPropertyChanges 对象的 Array。每个 PropertyChanges 对象的 target 属性等同于效果的目标。如果过渡未修改目标的属性,则对应的 PropertyChanges 对象不包括在此数组中。 semanticsProvidermx.effects:IEffectTargetHost用于计算目标的 requiredSemantics 中所指定属性的 IEffectTargetHost,一般为效果的 effectTargetHost。对于项目更改效果,当效果的目标为项呈示器时,这将是包含项呈示器的 List 或 TileList。 target调用此函数的 EffectInstance 的目标。如果效果包含多个目标,则每个目标调用此函数一次。 确定是否应该过滤目标,如果该目标应包含在效果中,则返回 true。通过调用 filterFunction 和 semanticFilterFunction 确定是否应该过滤目标,当且仅当这两个函数都返回 true 时才返回 true。包含默认值的默认函数始终返回 true。通常,EffectTargetFilter 使用某一种类型的滤镜或其它类型的滤镜,但不同时使用两种滤镜。 filterFunction 定义自定义滤镜逻辑的函数。 定义自定义滤镜逻辑的函数。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 对象。

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

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

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

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

requiredSemantics 必须与要播放的效果目标相关联的属性和关联值的集合。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

Fade 淡入淡出效果可设置组件的 alpha 属性的动画效果(从透明到不透明或从不透明到透明)。 The <mx:Fade> tag inherits the tag attributes of its superclass, and adds the following tag attributes:

  <mx:Fade 
    id="ID"
    alphaFrom="val"
    alphaTo="val"
  />
  
]]>
mx.effects:TweenEffect 淡入淡出效果可设置组件的 alpha 属性的动画效果(从透明到不透明或从不透明到透明)。

如果为 showEffecthideEffect 触发器指定淡入淡出效果,并且省略 alphaFromalphaTo 属性的值,则效果会自动将 alphashowEffect 触发器上从 0 过渡到的目标的当前 alpha 值,而在 hideEffect 触发器上从目标的当前 alpha 值过渡到的 0。

注意:要对文本使用淡入淡出效果,必须使用嵌入字体,而不是设备字体。

mx.effects.effectClasses.FadeInstanceFade 构造函数。targetnull要使用此效果为其设置动画的 Object。 构造函数。 alphaFrom 介于 0.0 和 1.0 之间的初始透明度级别,其中 0.0 表示透明,1.0 表示完全不透明。 介于 0.0 和 1.0 之间的初始透明度级别,其中 0.0 表示透明,1.0 表示完全不透明。

如果效果导致目标组件消失,则默认值为目标的 alpha 属性的当前值。如果效果导致目标组件显示,则默认值为 0.0。

alphaTo 最终透明度级别,其中 0.0 表示透明,1.0 表示完全不透明。 最终透明度级别,其中 0.0 表示透明,1.0 表示完全不透明。

如果效果导致目标组件消失,则默认值为 0.0。如果效果导致目标组件显示,则默认值为目标的 alpha 属性的当前值。

Parallel Parallel 效果同时播放多个子效果。The <mx:Parallel> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:Parallel id="identifier">
    <mx:children>
      <!-- Specify child effect tags --> 
    </mx:children>
  </mx:Parallel>
  
]]>
mx.effects:CompositeEffect Parallel 效果同时播放多个子效果。

可以在 MXML 中创建 Paralell 效果,如下例所示:

  <mx:Parallel id="WipeRightUp">
    <mx:children>
      <mx:WipeRight duration="1000"/>
      <mx:WipeUp duration="1000"/>
    </mx:children>
  </mx:Parallel>
  
  <mx:VBox id="myBox" hideEffect="{WipeRightUp}" >
    <mx:TextArea id="aTextArea" text="hello"/>
  </mx:VBox>
  

请注意,<mx:children> 标签是可选的。

在 ActionScript 中启动 Parallel 效果通常分为五个步骤:

  1. 创建要组合到一起的效果对象的实例,例如:
    myFadeEffect = new mx.effects.Fade(target);
  2. 在各个效果对象上设置属性,如 duration
  3. 创建 Parallel 效果对象的实例,例如:
    myParallelEffect = new mx.effects.Parallel();
  4. 针对每个效果对象调用 addChild() 方法,例如:
    myParallelEffect.addChild(myFadeEffect);
  5. 调用 Parallel 效果的 play() 方法,例如:
    myParallelEffect.play();
mx.effects.effectClasses.ParallelInstanceParallel 构造函数。targetnullParallel 效果会忽略此参数。包含此参数的目的只是为了与其他类型的效果保持一致。 构造函数。 compositeDuration 返回此效果的持续时间,由所有子效果的持续时间进行定义。 返回此效果的持续时间,由所有子效果的持续时间进行定义。这会考虑所有子效果的 startDelay 和重复信息,以及其持续时间,并返回相应的结果。
IAbstractEffect IAbstractEffect 接口用于指示某个属性或参数必须属于类型 Effect,但实际不实现 IEffect 接口的任何 API。flash.events:IEventDispatcher IAbstractEffect 接口用于指示某个属性或参数必须属于类型 Effect,但实际不实现 IEffect 接口的任何 API。UIComponent 类识别何时更改实现 AbstractEffect 接口的属性,并将其传递给 EffectManager 类以进行处理。 mx.effects.IEffectIEffectInstance IEffectInstance 接口代表在目标上播放的效果实例。 IEffectInstance 接口代表在目标上播放的效果实例。每个目标都有与之相关联的单独效果实例。效果实例的生存期是短暂的。在目标上播放效果时会创建一个实例,当效果完成播放时将破坏此实例。如果目标上同时播放了多个效果(例如,Parallel 效果),则每个效果都有其单独的效果实例。

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

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

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

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

mx.effects.Effect.end()
finishEffect 在完成效果播放时由 end() 方法调用。 在完成效果播放时由 end() 方法调用。此函数将为效果目标分派 endEffect 事件。

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

mx.events.EffectEvent
finishRepeat 每次完成重复效果的迭代播放后调用。 每次完成重复效果的迭代播放后调用。

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

initEffect 如果由 EffectManager 触发效果,则会调用此方法。event为触发效果而分派的 Event 对象。例如,如果触发器是 mouseDownEffect,则事件可能是类型等效于 MouseEvent.MOUSEDOWN 的 MouseEvent。 如果由 EffectManager 触发效果,则会调用此方法。此基类版本会将触发效果的事件保存在 triggerEvent 属性中。每个子类都应该覆盖此方法。 pause 暂停效果,直到调用 resume() 方法。 暂停效果,直到调用 resume() 方法。 play 在目标上播放效果实例。 在目标上播放效果实例。改为调用 startEffect() 方法,以在 EffectInstance 上开始播放效果。

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

resume 在效果由 pause() 方法暂停后继续播放效果。 在效果由 pause() 方法暂停后继续播放效果。 reverse 从效果的当前位置开始反向播放效果。 从效果的当前位置开始反向播放效果。 startEffect 经过 startDelay 所占用的这段时间后,在目标上播放效果实例。 经过 startDelay 所占用的这段时间后,在目标上播放效果实例。由 Effect 类调用。在启动 EffectInstance 时,请使用此函数,而非 play() 方法。 stop 停止播放效果,使目标保持当前状态。 停止播放效果,使目标保持当前状态。您需要通过调用 Effect.stop() 方法来调用此方法。在实现过程中,它会调用 finishEffect() 方法。

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

className 效果类的名称,如“FadeInstance”。 效果类的名称,如 "FadeInstance"

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

duration 效果的持续时间(以毫秒为单位)。500 效果的持续时间(以毫秒为单位)。 effectTargetHost 一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。mx.effects:IEffectTargetHost 一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。通过设置此属性,效果类的实例将能够访问播放此效果的基于列表的控件。 effect 创建此 IEffectInstance 对象的 IEffect 对象。mx.effects:IEffect 创建此 IEffectInstance 对象的 IEffect 对象。 hideFocusRing 确定在开始播放效果时,效果是否应隐藏对焦环。 确定在开始播放效果时,效果是否应隐藏对焦环。效果目标负责隐藏对焦环。UIComponent 类的子类将自动隐藏对焦环。如果效果目标不是 UIComponent 类的子类,则必须向其添加隐藏对焦环的功能。

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

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

playheadTime 效果的当前时间位置。 效果的当前时间位置。此属性的值介于 0 和总持续时间(包括该效果的 startDelayrepeatCountrepeatDelay)之间。 propertyChanges 指定包含一组属性的初始值和结束值的 PropertyChanges 对象,这些属性与效果的目标相关。mx.effects.effectClasses:PropertyChanges 指定包含一组属性的初始值和结束值的 PropertyChanges 对象,这些属性与效果的目标相关。只有对创建此效果实例的效果调用 captureStartValues() 方法时,才设置此属性。

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

mx.effects.effectClasses.PropertyChanges
repeatCount 效果的重复次数。1 效果的重复次数。可能的值为任何大于等于 0 的整数。 mx.effects.Effect.repeatCountrepeatDelay 重复播放效果前需要等待的时间(以毫秒为单位)。0 重复播放效果前需要等待的时间(以毫秒为单位)。 mx.effects.Effect.repeatDelaystartDelay 开始播放效果前需要等待的时间(以毫秒为单位)。0 开始播放效果前需要等待的时间(以毫秒为单位)。此值可以是任何大于或等于 0 的整数。如果使用 repeatCount 属性重复播放效果,则只在首次播放该效果时应用 startDelay 属性。 suspendBackgroundProcessing 如果为 true,则在播放效果时阻止所有背景处理。false 如果为 true,则在播放效果时阻止所有背景处理。背景处理包括度量、布局和处理来自服务器的响应。 mx.effects.Effect.suspendBackgroundProcessingtarget 要应用此效果的 UIComponent 对象。 要应用此效果的 UIComponent 对象。 mx.effects.Effect.targettriggerEvent 触发播放效果的事件(如果有)。 触发播放效果的事件(如果有)。如果要将一个效果分配给多个触发事件,此属性非常有用。

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