套件 | 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 實體,如此物件的範圍就不會侷限於函數本身。如果您在函數內宣告 AnimatorBase 實體,Flash Player 便會在函數結尾刪除此實體 (這是 Flash Player 的「記憶體回收」常式的一部分),而目標物件也將無法產生動畫效果。
預設 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 二者都設定成非 null 值;若您將 motionArray 設定成非 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 二者都設定成非 null 值;若您將 motionArray 設定成非 null 值,則 motion 會自動設定成 null,反之亦然。使用 motionArray 的動畫只有在 usingCurrentFrame 為 true 的時候才能正常顯示。如果支援 3D,這個陣列的 MotionBase 實體應該設定了 spanStart 屬性以及 initialPosition 屬性。這個陣列實體應該按低到高的 spanStart 順序放到陣列中。另外如果設定 motionArray,則 time 屬性和 motion 實體不是相對關係,而是與目標父輩存在絕對關係、索引化依然為 0,同時限制為 motion 的跨度 (所以當目前的 currentFrame - 1 大於 spanStart 且小於 spanEnd 的時候,它應該是父輩 currentFrame - 1)。不接受空白陣列;傳送空白陣列等同設定為 null。motionArray 應該沒有 null 項目而且 spanStart 以及 duration 項目本身應該沒有任何漏洞 (例如若第一個項目的 spanStart == 5 而 duration == 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 設定成非 null,則時間就不是以 0 開頭的相對索引,而是目標父輩的絕對值,限制為 motion 跨度而且索引編列依然為 0 (所以當 currentFrame - 1 大於跨度中的 spanStart 且小於 spanEnd,它就應該是父輩 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 移動來說,此變形點是相對於顯示物件的範圍框而言。此點的座標必須縮放成 1px x 1px 方塊,其中 (1, 1) 是物件的右下角,而 (0, 0) 是物件的左上角。對於 3Dmotion 來說 (當 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 中的百分比不同。3D 中的各點是原始物件變形點的絕對值。
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 (預設值),則您可以直接將 XML 提供給 Motion 實體,或是在 Motion 實體中設定屬性值陣列。
參數xml:XML (default = null ) — E4X 物件,其中包含 XML 架構的移動補間動畫說明。
| |
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 設定成非 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, 03:47 PM Z