包 | mx.effects |
类 | public class Tween |
继承 | Tween EventDispatcher Object |
当定义补间效果时,通常在 EffectInstance.play()
方法的覆盖部分创建一个 Tween 类实例。Tween 实例接受 startValue
、endValue
和 duration
属性,并可选择使用缓动函数来定义动画效果。
在效果持续期间,Tween 对象将按固定的时间间隔对效果实例调用 mx.effects.effectClasses.TweenEffectInstance.onTweenUpdate()
回调函数,向 onTweenUpdate()
方法传递一个介于 startValue
和 endValue
之间的插值。通常,回调函数会更新目标对象的特定属性,使该对象在效果持续期间呈现动画效果。
当效果结束时,Tween 对象将调用 mx.effects.effectClasses.TweenEffectInstance.onTweenEnd()
回调函数(如果已定义)。
另请参见
属性 | 定义方 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
duration : Number = 3000 动画的持续时间(以毫秒为单位)。 | Tween | ||
easingFunction : Function [只写] 为动画设置缓动函数。 | Tween | ||
listener : Object 在每个动画间隔通知的对象。 | Tween | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object |
方法 | 定义方 | ||
---|---|---|---|
Tween(listener:Object, startValue:Object, endValue:Object, duration:Number = -1, minFps:Number = -1, updateFunction:Function = null, endFunction:Function = null) 构造函数。 | Tween | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
将事件调度到事件流中。 | EventDispatcher | ||
中断补间,直接跳至补间的末尾,然后调用 onTweenEnd() 回调函数。 | Tween | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
指示对象是否已经定义了指定的属性。 | Object | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
暂停效果,直到调用 resume() 方法。 | Tween | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
在效果由 pause() 方法暂停后继续播放效果。 | Tween | ||
从效果的当前位置开始反向播放效果。 | Tween | ||
将补间效果前移到指定位置。 | Tween | ||
设置循环操作动态属性的可用性。 | Object | ||
默认情况下,在效果持续期间,Tween 类将按固定时间间隔对效果实例调用 mx.effects.effectClasses.TweenEffectInstance.onTweenUpdate() 回调函数,并可以在效果结束时选择调用 mx.effects.effectClasses.TweenEffectInstance.onTweenEnd() 回调函数。 | Tween | ||
停止补间,且无需调度事件,也无需调用 Tween 的 endFunction 或 onTweenEnd()。 | Tween | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | 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()
。