mx.effects
public class Tween
继承Tween Inheritance EventDispatcher Inheritance Object

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.TweenEffect
mx.effects.effectClasses.TweenEffectInstance


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  duration : Number = 3000
动画的持续时间(以毫秒为单位)。
Tween
  easingFunction : Function
[只写] 为动画设置缓动函数。
Tween
  listener : Object
在每个动画间隔通知的对象。
Tween
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
公共方法
 方法定义方
  
Tween(listener:Object, startValue:Object, endValue:Object, duration:Number = -1, minFps:Number = -1, updateFunction:Function = null, endFunction:Function = null)
构造函数。
Tween
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
 Inherited
将事件调度到事件流中。
EventDispatcher
  
中断补间,直接跳至补间的末尾,然后调用 onTweenEnd() 回调函数。
Tween
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  
暂停效果,直到调用 resume() 方法。
Tween
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
  
在效果由 pause() 方法暂停后继续播放效果。
Tween
  
从效果的当前位置开始反向播放效果。
Tween
  
seek(playheadTime:Number):void
将补间效果前移到指定位置。
Tween
 Inherited
设置循环操作动态属性的可用性。
Object
  
setTweenHandlers(updateFunction:Function, endFunction:Function):void
默认情况下,在效果持续期间,Tween 类将按固定时间间隔对效果实例调用 mx.effects.effectClasses.TweenEffectInstance.onTweenUpdate() 回调函数,并可以在效果结束时选择调用 mx.effects.effectClasses.TweenEffectInstance.onTweenEnd() 回调函数。
Tween
  
停止补间,且无需调度事件,也无需调用 Tween 的 endFunction 或 onTweenEnd()。
Tween
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件 摘要 定义方
 Inherited[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。EventDispatcher
 Inherited[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。EventDispatcher
属性详细信息
duration属性
public var duration:Number = 3000

动画的持续时间(以毫秒为单位)。

easingFunction属性 
easingFunction:Function  [只写]

为动画设置缓动函数。此缓动函数用于在 startValue 值和 endValue 值之间进行插值。简单的缓动函数只能进行线性 interpolation,而比较高级的缓动函数可以创建加速和减速效果,使动画效果看起来更加自然。

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

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

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



实现
    public function set easingFunction(value:Function):void
listener属性 
public var listener:Object

在每个动画间隔通知的对象。

构造函数详细信息
Tween()构造函数
public function Tween(listener:Object, startValue:Object, endValue:Object, duration:Number = -1, minFps:Number = -1, updateFunction:Function = null, endFunction:Function = null)

构造函数。

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

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

中断补间,直接跳至补间的末尾,然后调用 onTweenEnd() 回调函数。

pause()方法 
public function pause():void

暂停效果,直到调用 resume() 方法。

resume()方法 
public function resume():void

在效果由 pause() 方法暂停后继续播放效果。

reverse()方法 
public function reverse():void

从效果的当前位置开始反向播放效果。

seek()方法 
public function seek(playheadTime:Number):void

将补间效果前移到指定位置。

参数

playheadTime:Number — 介于 0 和 duration 属性的值之间的位置(以毫秒为单位)。

setTweenHandlers()方法 
public function setTweenHandlers(updateFunction:Function, endFunction:Function):void

默认情况下,在效果持续期间,Tween 类将按固定时间间隔对效果实例调用 mx.effects.effectClasses.TweenEffectInstance.onTweenUpdate() 回调函数,并可以在效果结束时选择调用 mx.effects.effectClasses.TweenEffectInstance.onTweenEnd() 回调函数。

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

参数

updateFunction:Function — 指定更新回调函数。
 
endFunction:Function — 指定结束回调函数。

stop()方法 
public function stop():void

停止补间,且无需调度事件,也无需调用 Tween 的 endFunction 或 onTweenEnd()