mx.effects
public class MaskEffect
继承MaskEffect Inheritance Effect Inheritance EventDispatcher Inheritance Object
子类 Iris, WipeDown, WipeLeft, WipeRight, WipeUp

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)。

MXML 语法expanded隐藏 MXML 语法

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.effectClasses.MaskEffectInstance
mx.effects.TweenEffect
Working with effects
Working with effects


公共属性
 属性定义方
 InheritedclassName : String
[只读 (read-only)] 效果类的名称,如“Fade”。
Effect
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  createMaskFunction : Function
效果创建蒙版时调用的函数。
MaskEffect
 InheritedcustomFilter : EffectTargetFilter
指定一个 EffectTargetFilter 类型的自定义滤镜对象,效果将使用此对象来确定播放效果的目标。
Effect
 Inheritedduration : Number
效果的持续时间(以毫秒为单位)。
Effect
 InheritedeffectTargetHost : IEffectTargetHost
一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。
Effect
 Inheritedfilter : String
指定用于过滤效果目标的算法。
Effect
 InheritedhideFocusRing : Boolean
确定在开始播放效果时,效果是否应隐藏对焦环。
Effect
 InheritedinstanceClass : Class
一个 Class 类型的对象,用于指定此效果类的效果实例类。
Effect
 InheritedisPlaying : Boolean
[只读 (read-only)] 一个只读标志,如果当前正在播放效果的任一实例,则为 true;否则,则为 false。
Effect
  moveEasingFunction : Function
要用于移动遮罩的缓动函数。
MaskEffect
 InheritedperElementOffset : Number
在效果的第一个目标之后,其它效果目标的附加延迟(以毫秒为单位)。
Effect
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
 InheritedrelevantProperties : Array
一个属性名称 Array,执行过滤时将使用这些名称。
Effect
 InheritedrelevantStyles : Array
一个样式名称 Array,执行过滤时将使用这些名称。
Effect
 InheritedrepeatCount : int = 1
效果的重复次数。
Effect
 InheritedrepeatDelay : int = 0
重复播放效果前需要等待的时间(以毫秒为单位)。
Effect
  scaleEasingFunction : Function
要用于缩放遮罩的缓动函数。
MaskEffect
  scaleXFrom : Number
遮罩最初的 scaleX。
MaskEffect
  scaleXTo : Number
遮罩最终的 scaleX。
MaskEffect
  scaleYFrom : Number
遮罩最初的 scaleY。
MaskEffect
  scaleYTo : Number
遮罩最终的 scaleY。
MaskEffect
  showTarget : Boolean
指定目标组件是可见 (true) 还是不可见 (false)。
MaskEffect
 InheritedstartDelay : int = 0
开始播放效果前需要等待的时间(以毫秒为单位)。
Effect
 InheritedsuspendBackgroundProcessing : Boolean = false
如果为 true,则在播放效果时阻止所有背景处理。
Effect
 Inheritedtarget : Object
要应用此效果的 UIComponent 对象。
Effect
 Inheritedtargets : Array
一个 UIComponent 对象 Array,这些对象都是效果的目标。
Effect
 InheritedtriggerEvent : Event
如果触发了某个效果,则此项目是由 EffectManager 传递给此 Effect 的 Event 对象;如果 EffectManager 当前没有播放此效果,则为 null。
Effect
  xFrom : Number
遮罩初始位置的 x 坐标。
MaskEffect
  xTo : Number
遮罩目标位置的 x 坐标。
MaskEffect
  yFrom : Number
遮罩初始位置的 y 坐标。
MaskEffect
  yTo : Number
遮罩目标位置的 y 坐标。
MaskEffect
受保护的属性
 属性定义方
 InheritedendValuesCaptured : Boolean = false
一个标志,如果已确定效果的结束值,则该标志中包含 true;如果需要在效果运行时从效果目标的当前属性捕获这些值,则其中包含 false。
Effect
公共方法
 方法定义方
  
MaskEffect(target:Object = null)
构造函数。
MaskEffect
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
 Inherited
捕获效果目标上相关属性的当前值,并将这些值另存为结束值。
Effect
 Inherited
捕获另一组目标相关属性的当前值。在运行数据更改效果时,此函数由 Flex 使用。
Effect
 Inherited
捕获效果目标上相关属性的当前值。
Effect
 Inherited
创建一个效果实例并对其进行初始化。
Effect
 Inherited
createInstances(targets:Array = null):Array
获取一个目标对象 Array,并对每个目标调用 createInstance() 方法。
Effect
 Inherited
删除实例中的事件侦听器,然后从实例列表中删除该实例。
Effect
 Inherited
将事件调度到事件流中。
EventDispatcher
 Inherited
end(effectInstance:IEffectInstance = null):void
中断当前正在播放的效果,立即跳转到该效果的末尾。
Effect
  
返回被此效果修改的组件属性。
MaskEffect
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
暂停效果,直到调用 resume() 方法。
Effect
 Inherited
play(targets:Array = null, playReversedFromEnd:Boolean = false):Array
开始播放效果。
Effect
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
 Inherited
在效果由 pause() 方法暂停后继续播放效果。
Effect
 Inherited
逆序播放效果;如果当前正在播放效果,则从该效果的当前位置开始逆序播放。
Effect
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
停止播放效果,使效果目标保持当前状态。
Effect
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
受保护的方法
 方法定义方
 Inherited
applyValueToTarget(target:Object, property:String, value:*, props:Object):void
供 Effect 基础结构内部使用。
Effect
 Inherited
当效果实例完成播放时调用。
Effect
 Inherited
当效果实例开始播放时调用此方法。
Effect
 Inherited
filterInstance(propChanges:Array, target:Object):Boolean
确定筛选效果实例所用的逻辑。
Effect
 Inherited
getValueFromTarget(target:Object, property:String):*
由 captureStartValues() 方法调用,用来从目标获得某个属性的值。
Effect
 Inherited
将效果的属性复制到效果实例。
Effect
  
当 TweenEffect 调度 TweenEvent 时调用此方法。
MaskEffect
事件
 事件 摘要 定义方
 Inherited[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。EventDispatcher
 Inherited[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。EventDispatcher
 Inherited当效果完成播放时(既可以是效果实际完成播放时,也可以是通过调用 end() 方法中断效果时)调度。Effect
 Inherited当效果开始播放时调度。Effect
  在结束效果时调度。MaskEffect
  在开始播放效果时调度此事件,相当于首次调用 onMoveTweenUpdate() 和 onScaleTweenUpdate() 方法。MaskEffect
  每当效果更新目标时调度。MaskEffect
属性详细信息
createMaskFunction属性
public var createMaskFunction:Function

效果创建蒙版时调用的函数。默认值是返回与目标大小相同的 Rectangle 的函数。

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

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

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

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

moveEasingFunction属性 
public var moveEasingFunction:Function

要用于移动遮罩的缓动函数。

默认值为 null.

scaleEasingFunction属性 
public var scaleEasingFunction:Function

要用于缩放遮罩的缓动函数。

默认值为 null.

scaleXFrom属性 
public var scaleXFrom:Number

遮罩最初的 scaleX。

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

scaleXTo属性 
public var scaleXTo:Number

遮罩最终的 scaleX。

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

scaleYFrom属性 
public var scaleYFrom:Number

遮罩最初的 scaleY。

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

scaleYTo属性 
public var scaleYTo:Number

遮罩最终的 scaleY。

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

showTarget属性 
showTarget:Boolean  [读写]

指定如果为 true,则目标组件可见;如果为 false,则不可见。如果对 showEffecthideEffect 触发器指定了此效果,则 Flex 会为您设置 showTarget 属性。当组件可见时设置为 true,当组件不可见时设置为 false。如果对其它效果触发器应用此效果,则需要自行设置此属性,通常在 startEffect 事件的事件侦听器中进行设置。

默认值为 true.



实现
    public function get showTarget():Boolean
    public function set showTarget(value:Boolean):void
xFrom属性 
public var xFrom:Number

遮罩初始位置的 x 坐标。

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

xTo属性 
public var xTo:Number

遮罩目标位置的 x 坐标。

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

yFrom属性 
public var yFrom:Number

遮罩初始位置的 y 坐标。

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

yTo属性 
public var yTo:Number

遮罩目标位置的 y 坐标。

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

构造函数详细信息
MaskEffect()构造函数
public function MaskEffect(target:Object = null)

构造函数。

参数
target:Object (default = null) — 要使用此效果为其设置动画的 Object。
方法详细信息
getAffectedProperties()方法
override public function getAffectedProperties():Array

返回被此效果修改的组件属性。此方法返回一个包含 [ "visible", "width", "height" ] 的 Array。由于 WipeDown、WipeLeft、WipeRight 和 WipeDown 效果子类都修改相同的属性,所以这些类不会实现此方法。

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

返回
Array — 一个用于指定此效果修改的属性的名称的字符串 Array。

另请参见

tweenEventHandler()方法 
protected function tweenEventHandler(event:TweenEvent):void

当 TweenEffect 调度 TweenEvent 时调用此方法。如果覆盖此方法,请确保调用超级方法。

参数

event:TweenEvent — TweenEvent 类型的事件对象。

事件详细信息
tweenEnd 事件
事件对象类型: mx.events.TweenEvent
属性 TweenEvent.type = mx.events.TweenEvent.TWEEN_END

在结束效果时调度。

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

TweenEvent.TWEEN_END 常数可为 tweenEnd 事件定义事件对象的 type 属性的值。

事件对象的属性有下列值:

属性
bubbles false
cancelable false
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
value 传递给 onTweenEnd() 方法的值。
tweenStart 事件  
事件对象类型: mx.events.TweenEvent
属性 TweenEvent.type = mx.events.TweenEvent.TWEEN_START

在开始播放效果时调度此事件,相当于首次调用 onMoveTweenUpdate()onScaleTweenUpdate() 方法。Flex 还会同时为此效果首次调度 tweenUpdate 事件。

Effect.effectStart 事件在 tweenStart 事件之前调度。

TweenEvent.TWEEN_START 常数可为 tweenStart 事件定义事件对象的 type 属性的值。

事件对象的属性有下列值:

属性
bubbles false
cancelable false
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
value 传递给 onTweenUpdate() 方法的值。
tweenUpdate 事件  
事件对象类型: mx.events.TweenEvent
属性 TweenEvent.type = mx.events.TweenEvent.TWEEN_UPDATE

每当效果更新目标时调度。调度此事件相当于调用 onMoveTweenUpdate()onScaleTweenUpdate() 方法。

TweenEvent.TWEEN_UPDATE 常数可为 tweenUpdate 事件定义事件对象的 type 属性的值。

事件对象的属性有下列值:

属性
bubbles false
cancelable false
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
value 传递给 onTweenUpdate() 方法的值。