包 | mx.effects |
类 | public class Tween |
继承 | Tween EventDispatcher Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
从 Flex 4.0 开始,Adobe 建议您使用 spark.effects.animation.Animation 类来替代此类。 在 Flex 3 中,Tween 是效果的基础动画类。自 Flex 4 起,Spark 效果将使用 spark.effects.animation.Animation 类提供相似的功能。 |
Tween 类定义一个补间,此补间是在某个时段内对目标对象执行的属性动画。该动画可以是对位置的更改(如 Move 效果)、对大小的更改(如 Resize 或 Zoom 效果)、对可见性的更改(如 Fade 或 Dissolve 效果),也可以是其他类型的动画。
当定义补间效果时,通常在 EffectInstance.play()
方法的覆盖部分创建一个 Tween 类实例。Tween 实例接受 startValue
、endValue
和 duration
属性,并可选择使用缓动函数来定义动画效果。
在效果持续期间,Tween 对象将按固定的时间间隔对效果实例调用 mx.effects.effectClasses.TweenEffectInstance.onTweenUpdate()
回调函数,向 onTweenUpdate()
方法传递一个介于 startValue
和 endValue
之间的插值。通常,回调函数会更新目标对象的特定属性,使该对象在效果持续期间呈示动画效果。
当效果结束时,Tween 对象将调用 mx.effects.effectClasses.TweenEffectInstance.onTweenEnd()
回调函数(如果已定义)。
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
duration : Number = 3000
动画的持续时间(以毫秒为单位)。 | Tween | ||
easingFunction : Function [只写]
为动画设置缓动函数。 | Tween | ||
listener : Object
在每个动画间隔通知的对象。 | Tween |
方法 | 由以下参数定义 | ||
---|---|---|---|
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 | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
duration | 属性 |
public var duration:Number = 3000
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
动画的持续时间(以毫秒为单位)。
easingFunction | 属性 |
easingFunction:Function
[只写] 语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
为动画设置缓动函数。此缓动函数用于在 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
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
在每个动画间隔通知的对象。
Tween | () | 构造函数 |
public function Tween(listener:Object, startValue:Object, endValue:Object, duration:Number = -1, minFps:Number = -1, updateFunction:Function = null, endFunction:Function = null)
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
构造函数。
调用此构造函数后,动画将自动开始播放。
参数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
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
中断补间,直接跳至补间的末尾,然后调用 onTweenEnd()
回调函数。
pause | () | 方法 |
public function pause():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
暂停效果,直到调用 resume()
方法。
resume | () | 方法 |
public function resume():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
在效果由 pause()
方法暂停后继续播放效果。
reverse | () | 方法 |
public function reverse():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
从效果的当前位置开始反向播放效果。
seek | () | 方法 |
setTweenHandlers | () | 方法 |
public function setTweenHandlers(updateFunction:Function, endFunction:Function):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
默认情况下,在效果持续期间,Tween 类将按固定时间间隔对效果实例调用 mx.effects.effectClasses.TweenEffectInstance.onTweenUpdate()
回调函数,并可以在效果结束时选择调用 mx.effects.effectClasses.TweenEffectInstance.onTweenEnd()
回调函数。
通过这种方法,您可以指定不同的方法作为更新回调函数和结束回调函数。
参数
updateFunction:Function — 指定更新回调函数。
| |
endFunction:Function — 指定结束回调函数。
|
stop | () | 方法 |
public function stop():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
停止补间,且无需调度事件,也无需调用 Tween 的 endFunction 或 onTweenEnd()
。
Tue Jun 12 2018, 11:04 AM Z