| 包 | fl.motion |
| 类 | public class AnimatorBase |
| 继承 | AnimatorBase EventDispatcher Object |
| 子类 | Animator, Animator3D |
| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
如果您要在函数中调用 AnimatorBase 类的方法,请在函数外声明 AnimatorBase 实例,以使对象的范围不只限于函数本身。如果在函数内声明实例,作为 Flash Player 例程“垃圾回收”的一部分,Flash Player 会在函数结束时删除 AnimatorBase 实例,目标对象将无法运行动画。
默认 MXML 属性motion
相关 API 元素
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
| autoRewind : Boolean = false
将动画设置为完成后重新开始播放。 | AnimatorBase | ||
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| frameEvent : String
Event.ENTER_FRAME 事件创建的事件对象的名称。 | AnimatorBase | ||
| initialPosition : Array [只写]
定义动画的起始位置的坐标数组。 | AnimatorBase | ||
| instanceFactoryClass : Class
使用 ActionScript 创建实例时,就是使用此类创建此实例。 | AnimatorBase | ||
| isPlaying : Boolean [只读]
指示动画当前是否正在播放。 | AnimatorBase | ||
| motion : MotionBase
包含动画的补间动画属性的对象。 | AnimatorBase | ||
| motionArray : Array
包含动画的补间动画属性的对象数组。 | AnimatorBase | ||
| orientToPath : Boolean = false
沿运动路径设置显示对象的位置。 | AnimatorBase | ||
| placeholderName : String
使用 ActionScript 创建实例时,这就是我们将替换的在舞台上显示的实例。 | AnimatorBase | ||
| positionMatrix : Matrix
将整体变形应用于运动路径的 Matrix 对象。 | AnimatorBase | ||
| repeatCount : int = 1
动画的重复次数。 | AnimatorBase | ||
| sceneName : String
导出的场景的参考(针对 3D 动画),以便将场景加载到父时间轴。 | AnimatorBase | ||
| spanEnd : int [只读]
返回结束目标动画的目标父级的帧。 | AnimatorBase | ||
| spanStart : int [只读]
返回开始目标动画的目标父级的帧。 | AnimatorBase | ||
| target : DisplayObject
正呈现动画效果的显示对象。 | AnimatorBase | ||
| targetName : String
依父级 DisplayObjectContainer 而定的目标对象的名称。 | AnimatorBase | ||
| targetParent : DisplayObjectContainer
将呈现动画效果的目标父级 DisplayObjectContainer,可以与 targetName 配合使用,以便在删除目标对象并在时间轴上将其替换后检索该目标对象。 | AnimatorBase | ||
| targetParentButton : SimpleButton | AnimatorBase | ||
| targetState3D : Array
目标对象的初始方向。 | AnimatorBase | ||
| time : int
从零开始的整数,指示和控制当前动画中的时间。 | AnimatorBase | ||
| transformationPoint : Point
用于旋转或缩放显示对象的参考点。 | AnimatorBase | ||
| transformationPointZ : int
用于旋转或缩放显示对象的参考 Z 坐标点。 | AnimatorBase | ||
| usingCurrentFrame : Boolean [只读]
指示是否在进入新帧时检查 currentFrame 属性,以及是将目标的动画与其父级时间轴中的帧同步,还是不管父级的当前帧如何都始终进入。 | AnimatorBase | ||
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
创建 AnimatorBase 对象,将基于 XML 的补间动画说明应用于显示对象。 | AnimatorBase | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | |
![]() |
将事件调度到事件流中。 | EventDispatcher | |
停止播放动画,Flash Player 会立即转到动画序列中的最后一帧。 | AnimatorBase | ||
![]() |
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | |
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
使 Flash Player 前进到动画序列中的下一帧。 | AnimatorBase | ||
暂停动画,直到调用 resume() 方法。 | AnimatorBase | ||
开始播放动画。 | AnimatorBase | ||
processCurrentFrame(parent:MovieClip, anim:AnimatorBase, startEnterFrame:Boolean, playOnly:Boolean = false):void [静态] | AnimatorBase | ||
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
registerParentFrameHandler(parent:MovieClip, anim:AnimatorBase, spanStart:int, repeatCount:int = 0, useCurrentFrame:Boolean = false):void [静态]
注册给定 MovieClip 以及该 MovieClip 子级的 AnimatorBase 实例。 | AnimatorBase | ||
![]() |
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | |
在动画由 pause() 方法暂停后继续播放动画。 | AnimatorBase | ||
将 Flash Player 设置到动画的第一帧。 | AnimatorBase | ||
![]() |
设置循环操作动态属性的可用性。 | Object | |
启动帧事件。 | AnimatorBase | ||
停止播放动画,Flash Player 将返回到动画序列中的第一帧。 | AnimatorBase | ||
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
每次进入新帧时设置 currentFrame 属性,并设置目标动画是否与其父级 MovieClips 的时间轴中的帧同步。 | AnimatorBase | ||
![]() |
返回指定对象的原始值。 | Object | |
![]() |
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher | |
| 事件 | 摘要 | 由以下参数定义 | ||
|---|---|---|---|---|
![]() | [广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | ||
![]() | [广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | ||
| 在动画结束播放(无论是播放到末尾还是由于调用 stop() 或 end() 方法而中断动画)时调度。 | AnimatorBase | |||
| 当动画开始播放时调度。 | AnimatorBase | |||
| 当动画已更改并且屏幕已更新时调度。 | AnimatorBase | |||
| 当 Animator 的 time 值已更改,但是屏幕尚未更新时(即 motionUpdate 事件)调度。 | AnimatorBase | |||
autoRewind | 属性 |
public var autoRewind:Boolean = false| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
将动画设置为完成后重新开始播放。
frameEvent | 属性 |
initialPosition | 属性 |
instanceFactoryClass | 属性 |
isPlaying | 属性 |
motion | 属性 |
motion:MotionBase| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
包含动画的补间动画属性的对象。无法将 motion 和 motionArray 同时设置为 non-null 值;如果将 motionArray 设置为 non-null 值,motion 将自动设置为 null,反之亦然。
实现
public function get motion():MotionBase public function set motion(value:MotionBase):voidmotionArray | 属性 |
motionArray:Array| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
包含动画的补间动画属性的对象数组。无法将 motion 和 motionArray 同时设置为 non-null 值;如果将 motionArray 设置为 non-null 值,motion 将自动设置为 null,反之亦然。只有 usingCurrentFrame 为 true 时,使用 motionArray 的动画才能正常工作。如果支持 3D,数组应具有包含 spanStart 属性集和 initialPosition 属性集的 MotionBase 实例。数组实例应按从最低到最高的 spanStart 顺序放置到数组中。此外,如果已设置 motionArray,则 time 属性不是相对于一个运动实例的属性,对目标父项来说,它是绝对属性,仍从零开始编制索引并只限于动画范围内(因此当 currentFrame - 1 大于 spanStart 且小于 spanEnd 时,它应为 parent.currentFrame - 1)。将不接受空数组;传递空数组等效于设置为 null。motionArray 不应包含 null 条目,而且 spanStart 和持续条目中不应该有任何间隙(例如,如果第一个条目的 spanStart == 5 且持续时间 == 3,则第二个条目要求使 spanStart == 8)。
实现
public function get motionArray():Array public function set motionArray(value:Array):voidorientToPath | 属性 |
public var orientToPath:Boolean = false| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
沿运动路径设置显示对象的位置。 如果设置为 true,则显示对象的基线会调整到运动路径的方向;否则,注册点会调整到运动路径的方向。
placeholderName | 属性 |
positionMatrix | 属性 |
public var positionMatrix:Matrix| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
将整体变形应用于运动路径的 Matrix 对象。 此矩阵允许在不更改显示对象外观的情况下移动、缩放、倾斜或旋转路径。
repeatCount | 属性 |
sceneName | 属性 |
spanEnd | 属性 |
spanStart | 属性 |
target | 属性 |
target:DisplayObject| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
正呈现动画效果的显示对象。可以使用 flash.display.DisplayObject 的任何子类,如 MovieClip、Sprite 或 Bitmap。
实现
public function get target():DisplayObject public function set target(value:DisplayObject):void相关 API 元素
targetName | 属性 |
targetParent | 属性 |
targetParent:DisplayObjectContainer| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
将呈现动画效果的目标父级 DisplayObjectContainer,可以与 targetName 配合使用,以便在删除目标对象并在时间轴上将其替换后检索该目标对象。
实现
public function get targetParent():DisplayObjectContainer public function set targetParent(value:DisplayObjectContainer):voidtargetParentButton | 属性 |
targetParentButton:SimpleButton
实现
public function get targetParentButton():SimpleButton public function set targetParentButton(value:SimpleButton):voidtargetState3D | 属性 |
time | 属性 |
time:int| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
从零开始的整数,指示和控制当前动画中的时间。在动画的第一帧中,time 值为 0。如果动画持续 10 帧,则最后一帧的 time 值为 9。
如果将 motionArray 设置为 non-null,则 time 不是从零开始的相对索引,它对目标父项来说是绝对属性,只限于动画范围内并仍从零开始编制索引(因此当 currentFrame - 1 大于此范围中的 spanStart 且小于spanEndwithin 时,它应为 parent.currentFrame - 1)。
实现
public function get time():int public function set time(value:int):voidtransformationPoint | 属性 |
public var transformationPoint:Point| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
用于旋转或缩放显示对象的参考点。 对于 2D 动画,变形点是相对于显示对象的边框的。变形点的坐标必须缩放到 1 x 1 像素的框中,其中 (1, 1) 代表对象的右下角,(0, 0) 代表对象的左上角。对于 3D 动画(当 AnimatorBase 实例为 Animator3D 时),transformationPoint 的 x 和 y 以及 transformationPointZ 在目标父级坐标空间中是绝对值。
transformationPointZ | 属性 |
public var transformationPointZ:int| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
用于旋转或缩放显示对象的参考 Z 坐标点。transformationPointZ 属性(或 setter)在 AnimatorFactory3D 子类中会被覆盖。在 3D 中,点数并不像在 2D 中那样表示百分比,而是指原始对象变形点的绝对值。
usingCurrentFrame | 属性 |
AnimatorBase | () | 构造函数 |
public function AnimatorBase(xml:XML = null, target:DisplayObject = null)| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
创建 AnimatorBase 对象,将基于 XML 的补间动画说明应用于显示对象。如果 XML 为 null(此为默认值),则可以向 Motion 实例直接提供 XML,也可以在 Motion 实例中设置属性值数组。
参数xml:XML (default = null) — 包含基于 XML 的补间动画说明的 E4X 对象。
| |
target:DisplayObject (default = null) — 使用补间动画的显示对象。
|
相关 API 元素
end | () | 方法 |
public function end(reset:Boolean = false, stopEnterFrame:Boolean = true, pastLastFrame:Boolean = false):void| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
停止播放动画,Flash Player 会立即转到动画序列中的最后一帧。 如果 autoRewind 属性设置为 true,则 Flash Player 会转到动画序列中的第一帧。
参数
reset:Boolean (default = false) — 指示 _lastRenderedTime 和 _target 是否应重置为其原始值。只有提供了 targetParent 和 targetName,才应重置 _target。
| |
stopEnterFrame:Boolean (default = true) | |
pastLastFrame:Boolean (default = false) |
相关 API 元素
nextFrame | () | 方法 |
pause | () | 方法 |
play | () | 方法 |
public function play(startTime:int = -1, startEnterFrame:Boolean = true):void| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
开始播放动画。 在您调用 play() 方法之前先调用 end(),以确保在您开始新的动画实例之前以前的所有动画实例都已结束。
参数
startTime:int (default = -1) — 指示要使用的替代起始时间(相对帧)。如果未指定,则使用默认起始时间 0。如果将 motionArray 设置为 non-null,则 startTime 就会像 time 属性一样不是相对而是绝对属性了。
| |
startEnterFrame:Boolean (default = true) — 指示是否需要向父级添加事件侦听器来捕获帧事件。如果父级已通过 registerParentFrameHandler() 向其 AnimatorBase 实例注册,则此值可以为 false。
|
相关 API 元素
processCurrentFrame | () | 方法 |
public static function processCurrentFrame(parent:MovieClip, anim:AnimatorBase, startEnterFrame:Boolean, playOnly:Boolean = false):void参数
parent:MovieClip | |
anim:AnimatorBase | |
startEnterFrame:Boolean | |
playOnly:Boolean (default = false) |
registerParentFrameHandler | () | 方法 |
public static function registerParentFrameHandler(parent:MovieClip, anim:AnimatorBase, spanStart:int, repeatCount:int = 0, useCurrentFrame:Boolean = false):void| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
注册给定的 MovieClip 以及该 MovieClip 子级的 AnimatorBase 实例。父级 MovieClip 的 FRAME_CONSTRUCTED 事件已进行处理,其 currentFrame 和 AnimatorBase 的 spanStart 属性用于确定应播放的动画的当前相对帧。
调用此函数会自动将 AnimatorBase 的 useCurrentFrame 属性设置为 true,并使用同名参数设置其 spanStart 属性。
参数
parent:MovieClip — AnimatorBase 实例的父级 MovieClip。
| |
anim:AnimatorBase — 与父级 MovieClip 关联的 AnimatorBase 实例。
| |
spanStart:int — 依父级 MovieClip 时间轴而定的动画起始帧。
| |
repeatCount:int (default = 0) — 动画应播放的次数。默认值为 0,它表示动画将无限循环。
| |
useCurrentFrame:Boolean (default = false) — 指示是否每次进入新帧时都检查 useCurrentFrame 属性。
|
resume | () | 方法 |
rewind | () | 方法 |
public function rewind():void| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
将 Flash Player 设置到动画的第一帧。 如果动画正在播放,则它会从第一帧开始继续播放。如果动画已停止,则它会在第一帧位置保持停止状态。
startFrameEvents | () | 方法 |
public function startFrameEvents():void| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
启动帧事件。
stop | () | 方法 |
useCurrentFrame | () | 方法 |
public function useCurrentFrame(enable:Boolean, spanStart:int):void| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
每次进入新帧时设置 currentFrame 属性,并设置目标动画是否与其父级 MovieClips 的时间轴中的帧同步。spanStart 是依父级时间轴而定的动画起始帧。如果 enable 为 true,则动画范围内任何给定“进入帧”事件的 time 属性都将设置为相对于 spanStart 帧的帧数。
例如,如果 4 帧动画以第 5 帧为起始帧 (spanStart=5),并且第 5 帧上具有一个针对第 8 帧执行 gotoAndPlay 的脚本,则在进入第 8 帧时,time 属性会设置为 3,从而跳过 time = 1 和 time = 2。
参数
enable:Boolean — 用于确定是否检查 currentFrame 属性的 true 或 false 值。
| |
spanStart:int — 依父级 MovieClip 时间轴而定的动画起始帧。
|
motionEnd | 事件 |
fl.motion.MotionEvent属性 MotionEvent.type =
fl.motion.MotionEvent.MOTION_END| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
在动画结束播放(无论是播放到末尾还是由于调用 stop() 或 end() 方法而中断动画)时调度。
Animator.stop() 或 Animator.end(),或者到达 Motion 实例的末尾,动画已结束。
事件对象的属性有下列值:
| 属性 | 值 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
target | 调度该事件的对象;它不一定是侦听该事件的对象。使用 currentTarget 属性始终可以访问侦听该事件的对象。 |
motionStart | 事件 |
fl.motion.MotionEvent属性 MotionEvent.type =
fl.motion.MotionEvent.MOTION_START| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
当动画开始播放时调度。
指示 Motion 实例已经开始播放。事件对象的属性有下列值:
| 属性 | 值 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
target | 调度该事件的对象;它不一定是侦听该事件的对象。使用 currentTarget 属性始终可以访问侦听该事件的对象。 |
motionUpdate | 事件 |
fl.motion.MotionEvent属性 MotionEvent.type =
fl.motion.MotionEvent.MOTION_UPDATE| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
当动画已更改并且屏幕已更新时调度。
指示 Motion 实例已更改并且屏幕已更新。事件对象的属性有下列值:
| 属性 | 值 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
target | 调度该事件的对象;它不一定是侦听该事件的对象。使用 currentTarget 属性始终可以访问侦听该事件的对象。 |
timeChange | 事件 |
fl.motion.MotionEvent属性 MotionEvent.type =
fl.motion.MotionEvent.TIME_CHANGE| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
当 Animator 的 time 值已更改,但是屏幕尚未更新时(即 motionUpdate 事件)调度。
time 值已更改,但是屏幕尚未更新(Flash Player 尚未调度 motionUpdate 事件)。
事件对象的属性有下列值:
| 属性 | 值 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
target | 调度该事件的对象;它不一定是侦听该事件的对象。使用 currentTarget 属性始终可以访问侦听该事件的对象。 |
Tue Jun 12 2018, 11:04 AM Z
隐藏继承的公共属性
显示继承的公共属性