包 | mx.effects |
类 | public class TweenEffect |
继承 | TweenEffect Effect EventDispatcher Object |
子类 | AnimateProperty, Blur, Dissolve, Fade, Glow, Move, Pause, Resize, Rotate, SeriesEffect, Zoom |
通过创建 TweenEffect 类的子类可定义在某段时间内播放动画的效果。例如,Resize 效果会在指定的时段内修改其目标的大小。
MXML 语法隐藏 MXML 语法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" />
另请参见
属性 | 定义方 | ||
---|---|---|---|
className : String [只读 (read-only)] 效果类的名称,如“Fade”。 | Effect | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
customFilter : EffectTargetFilter 指定一个 EffectTargetFilter 类型的自定义滤镜对象,效果将使用此对象来确定播放效果的目标。 | Effect | ||
duration : Number 效果的持续时间(以毫秒为单位)。 | Effect | ||
easingFunction : Function = null 动画的缓动函数。 | TweenEffect | ||
effectTargetHost : IEffectTargetHost 一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。 | Effect | ||
filter : String 指定用于过滤效果目标的算法。 | Effect | ||
hideFocusRing : Boolean 确定在开始播放效果时,效果是否应隐藏对焦环。 | Effect | ||
instanceClass : Class 一个 Class 类型的对象,用于指定此效果类的效果实例类。 | Effect | ||
isPlaying : Boolean [只读 (read-only)] 一个只读标志,如果当前正在播放效果的任一实例,则为 true;否则,则为 false。 | Effect | ||
perElementOffset : Number 在效果的第一个目标之后,其它效果目标的附加延迟(以毫秒为单位)。 | Effect | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | ||
relevantProperties : Array 一个属性名称 Array,执行过滤时将使用这些名称。 | Effect | ||
relevantStyles : Array 一个样式名称 Array,执行过滤时将使用这些名称。 | Effect | ||
repeatCount : int = 1 效果的重复次数。 | Effect | ||
repeatDelay : int = 0 重复播放效果前需要等待的时间(以毫秒为单位)。 | Effect | ||
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 |
方法 | 定义方 | ||
---|---|---|---|
TweenEffect(target:Object = null) 构造函数。 | TweenEffect | ||
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 | ||
返回一个字符串 Array,其中每个 String 都是被此效果更改的属性名称。 | Effect | ||
检查 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 时调用此方法。 | TweenEffect |
事件 | 摘要 | 定义方 | ||
---|---|---|---|---|
[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | |||
[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | |||
当效果完成播放时(既可以是效果实际完成播放时,也可以是通过调用 end() 方法中断效果时)调度。 | Effect | |||
当效果开始播放时调度。 | Effect | |||
当补间效果结束时调度。 | TweenEffect | |||
当开始播放补间效果时调度此事件,相当于首次调用 onTweenUpdate() 方法。 | TweenEffect | |||
每当补间效果更新目标时调度。 | TweenEffect |
easingFunction | 属性 |
public var easingFunction:Function = null
动画的缓动函数。此缓动函数用于在初始值和最终值之间进行插值。简单的缓动函数只能进行线性 interpolation,而比较高级的缓动函数可以创建加速和减速效果,使动画效果看起来更加自然。
如果未指定缓动函数,则使用基于 Math.sin()
方法的缓动函数。
该缓动函数位于 Robert Penner 编写的函数签名之后。该函数使用四个参数:第一个参数是“current time”,其中动画的开始时间是 0;第二个参数是动画开始时的初始值(一个 Number);第三个参数是结束值与初始值之间的差值;第四个参数是动画的持续时间。返回值是当前时间的插值。此值通常介于初始值和结束值之间。
此属性的值必须是一个函数对象。
Flex 在 mx.effects.easing 包中提供了一组缓动函数。
TweenEffect | () | 构造函数 |
public function TweenEffect(target:Object = null)
构造函数。
参数target:Object (default = null ) — 要使用此效果为其设置动画的 Object。 |
tweenEventHandler | () | 方法 |
protected function tweenEventHandler(event:TweenEvent):void
当 TweenEffect 调度 TweenEvent 时调用此方法。如果覆盖此方法,请确保调用超级方法。
参数
event:TweenEvent — TweenEvent 类型的事件对象。 |
tweenEnd | 事件 |
mx.events.TweenEvent
mx.events.TweenEvent.TWEEN_END
当补间效果结束时调度。此事件与调用 TweenEffectInstance.onTweenEnd()
方法相对应。
如果只播放一次补间效果,则此事件将与 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
当开始播放补间效果时调度此事件,相当于首次调用 onTweenUpdate()
方法。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
每当补间效果更新目标时调度。此事件与调用 TweenEffectInstance.onTweenUpdate()
方法相对应。
TweenEvent.TWEEN_UPDATE
常数可为 tweenUpdate
事件定义事件对象的 type
属性的值。
事件对象的属性有下列值:
属性 | 值 |
---|---|
bubbles
| false |
cancelable
| false |
currentTarget
|
用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
|
target
|
调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
|
value
|
传递给 onTweenUpdate() 方法的值。
|
<?xml version="1.0"?> <!-- Simple example to demonstrate the TweenEffect class. --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ import mx.events.TweenEvent; // Event handler for the tweenUpdate and tweenEnd effects. private function tweenUpdateHandler(event:TweenEvent):void { // Access current width of the image. currentWidth.text="Current width (in pixels): " + String(event.value[0]); } // Event handler for the reset button. private function resetHandler():void { expand.end(); img.width=30; currentWidth.text="Current width (in pixels): 30"; img.height=60; button1.enabled=true; } ]]> </mx:Script> <mx:Resize id="expand" target="{img}" widthTo="100" heightTo="200" duration="10000" tweenUpdate="tweenUpdateHandler(event);" tweenEnd="tweenUpdateHandler(event);"/> <mx:Panel title="Resize Effect Example" width="100%" height="100%" paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10"> <mx:Text width="100%" color="blue" text="Use the Button controls to resize the image."/> <mx:HBox width="100%"> <mx:Image id="img" width="30" height="60" source="@Embed(source='assets/Nokia_6630.png')"/> <mx:Text id="currentWidth" height="20" width="100%"/> </mx:HBox> <mx:ControlBar> <mx:Button id="button1" label="Start" click="expand.play(); button1.enabled=false;"/> <mx:Button label="Pause" click="expand.pause();"/> <mx:Button label="Resume" click="expand.resume();"/> <mx:Button label="Reverse" click="expand.reverse();"/> <mx:Button label="End" click="expand.end();"/> <mx:Button label="Reset" click="resetHandler();"/> </mx:ControlBar> </mx:Panel> </mx:Application>