包 | mx.effects |
类 | public class MaskEffect |
继承 | MaskEffect Effect EventDispatcher Object |
子类 | Iris, WipeDown, WipeLeft, WipeRight, WipeUp |
遮罩效果使用名为“遮罩”的叠加层来执行该效果。默认情况下,遮罩是一个矩形,与目标组件大小相同。
应用遮罩效果之前或之后,目标组件的状态必须是不可见的。也就是说,遮罩效果通常会使目标组件出现在屏幕上,或从屏幕中消失。
您可以使用 scaleXFrom
、scaleYFrom
、scaleXTo
和 scaleX
属性指定遮罩的初始和最终缩放比例。如果将此值设置为 1.0,则表示将遮罩缩放为目标组件的大小;如果将此值设置为 2.0,则表示将遮罩缩放为目标组件的两倍大小;如果将此值设置为 0.5,则表示将遮罩缩放为目标组件的一半大小,依此类推。要使用上述任一属性,都必须指定所有四个属性。
您可以使用 xFrom
、yFrom
、xTo
和 yTo
属性指定遮罩相对于目标组件的初始位置和最终位置坐标,其中 (0, 0) 对应于目标的左上角。要使用上述任一属性,都必须指定所有四个属性。
遮罩的初始位置和最终位置坐标取决于效果的类型以及 show
属性是 true
还是 false
。例如,对于 show
值设置为 false
的 WipeLeft 效果,遮罩初始位置的坐标为 (0, 0),对应于目标的左上角;最终位置的坐标为 (宽度, 0),对应于目标的右上角,其中的宽度指目标的宽度。
对于 show
值设置为 true
的 WipeLeft 效果,遮罩初始位置的坐标为 (宽度, 0),最终位置的坐标为 (0, 0)。
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="" />
另请参见
属性 | 定义方 | ||
---|---|---|---|
className : String [只读 (read-only)] 效果类的名称,如“Fade”。 | Effect | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
createMaskFunction : Function 效果创建蒙版时调用的函数。 | MaskEffect | ||
customFilter : EffectTargetFilter 指定一个 EffectTargetFilter 类型的自定义滤镜对象,效果将使用此对象来确定播放效果的目标。 | Effect | ||
duration : Number 效果的持续时间(以毫秒为单位)。 | Effect | ||
effectTargetHost : IEffectTargetHost 一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。 | Effect | ||
filter : String 指定用于过滤效果目标的算法。 | Effect | ||
hideFocusRing : Boolean 确定在开始播放效果时,效果是否应隐藏对焦环。 | Effect | ||
instanceClass : Class 一个 Class 类型的对象,用于指定此效果类的效果实例类。 | Effect | ||
isPlaying : Boolean [只读 (read-only)] 一个只读标志,如果当前正在播放效果的任一实例,则为 true;否则,则为 false。 | Effect | ||
moveEasingFunction : Function 要用于移动遮罩的缓动函数。 | MaskEffect | ||
perElementOffset : Number 在效果的第一个目标之后,其它效果目标的附加延迟(以毫秒为单位)。 | Effect | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | ||
relevantProperties : Array 一个属性名称 Array,执行过滤时将使用这些名称。 | Effect | ||
relevantStyles : Array 一个样式名称 Array,执行过滤时将使用这些名称。 | Effect | ||
repeatCount : int = 1 效果的重复次数。 | Effect | ||
repeatDelay : 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 | ||
startDelay : int = 0 开始播放效果前需要等待的时间(以毫秒为单位)。 | Effect | ||
suspendBackgroundProcessing : Boolean = false 如果为 true,则在播放效果时阻止所有背景处理。 | Effect | ||
target : Object 要应用此效果的 UIComponent 对象。 | Effect | ||
targets : Array 一个 UIComponent 对象 Array,这些对象都是效果的目标。 | Effect | ||
triggerEvent : Event 如果触发了某个效果,则此项目是由 EffectManager 传递给此 Effect 的 Event 对象;如果 EffectManager 当前没有播放此效果,则为 null。 | Effect | ||
xFrom : Number 遮罩初始位置的 x 坐标。 | MaskEffect | ||
xTo : Number 遮罩目标位置的 x 坐标。 | MaskEffect | ||
yFrom : Number 遮罩初始位置的 y 坐标。 | MaskEffect | ||
yTo : Number 遮罩目标位置的 y 坐标。 | MaskEffect |
方法 | 定义方 | ||
---|---|---|---|
MaskEffect(target:Object = null) 构造函数。 | MaskEffect | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
捕获效果目标上相关属性的当前值,并将这些值另存为结束值。 | Effect | ||
捕获另一组目标相关属性的当前值。在运行数据更改效果时,此函数由 Flex 使用。 | Effect | ||
捕获效果目标上相关属性的当前值。 | Effect | ||
创建一个效果实例并对其进行初始化。 | Effect | ||
获取一个目标对象 Array,并对每个目标调用 createInstance() 方法。 | Effect | ||
删除实例中的事件侦听器,然后从实例列表中删除该实例。 | Effect | ||
将事件调度到事件流中。 | EventDispatcher | ||
中断当前正在播放的效果,立即跳转到该效果的末尾。 | Effect | ||
返回被此效果修改的组件属性。 | MaskEffect | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
指示对象是否已经定义了指定的属性。 | Object | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
暂停效果,直到调用 resume() 方法。 | Effect | ||
开始播放效果。 | Effect | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
在效果由 pause() 方法暂停后继续播放效果。 | Effect | ||
逆序播放效果;如果当前正在播放效果,则从该效果的当前位置开始逆序播放。 | Effect | ||
设置循环操作动态属性的可用性。 | Object | ||
停止播放效果,使效果目标保持当前状态。 | Effect | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | EventDispatcher |
方法 | 定义方 | ||
---|---|---|---|
供 Effect 基础结构内部使用。 | Effect | ||
当效果实例完成播放时调用。 | Effect | ||
当效果实例开始播放时调用此方法。 | Effect | ||
确定筛选效果实例所用的逻辑。 | Effect | ||
由 captureStartValues() 方法调用,用来从目标获得某个属性的值。 | Effect | ||
将效果的属性复制到效果实例。 | Effect | ||
当 TweenEffect 调度 TweenEvent 时调用此方法。 | MaskEffect |
事件 | 摘要 | 定义方 | ||
---|---|---|---|---|
[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | |||
[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | |||
当效果完成播放时(既可以是效果实际完成播放时,也可以是通过调用 end() 方法中断效果时)调度。 | Effect | |||
当效果开始播放时调度。 | 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; }
自定义遮罩函数的一个参数对应于效果的目标组件,另一个参数用于定义目标尺寸,以便您正确设置遮罩大小。您可以使用此参数访问目标组件的 width
和 height
等属性,以创建大小合适的遮罩。
此函数将返回一个用于定义遮罩的 Shape 对象。
moveEasingFunction | 属性 |
scaleEasingFunction | 属性 |
scaleXFrom | 属性 |
public var scaleXFrom:Number
遮罩最初的 scaleX。
要指定此属性,您必须指定以下所有四个属性:scaleXFrom
、scaleYFrom
、scaleXTo
和 scaleX
。
scaleXTo | 属性 |
public var scaleXTo:Number
遮罩最终的 scaleX。
要指定此属性,您必须指定以下所有四个属性:scaleXFrom
、scaleYFrom
、scaleXTo
和 scaleX
。
scaleYFrom | 属性 |
public var scaleYFrom:Number
遮罩最初的 scaleY。
要指定此属性,您必须指定以下所有四个属性:scaleXFrom
、scaleYFrom
、scaleXTo
和 scaleX
。
scaleYTo | 属性 |
public var scaleYTo:Number
遮罩最终的 scaleY。
要指定此属性,您必须指定以下所有四个属性:scaleXFrom
、scaleYFrom
、scaleXTo
和 scaleX
。
showTarget | 属性 |
showTarget:Boolean
[读写]
指定如果为 true
,则目标组件可见;如果为 false
,则不可见。如果对 showEffect
或 hideEffect
触发器指定了此效果,则 Flex 会为您设置 showTarget
属性。当组件可见时设置为 true
,当组件不可见时设置为 false
。如果对其它效果触发器应用此效果,则需要自行设置此属性,通常在 startEffect
事件的事件侦听器中进行设置。
默认值为 true.
public function get showTarget():Boolean
public function set showTarget(value:Boolean):void
xFrom | 属性 |
xTo | 属性 |
yFrom | 属性 |
yTo | 属性 |
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
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
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
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() 方法的值。
|