包 | 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):void
motionArray | 属性 |
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):void
orientToPath | 属性 |
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):void
targetParentButton | 属性 |
targetParentButton:SimpleButton
实现
public function get targetParentButton():SimpleButton
public function set targetParentButton(value:SimpleButton):void
targetState3D | 属性 |
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):void
transformationPoint | 属性 |
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