套件 | fl.motion |
類別 | public class MotionBase |
繼承 | MotionBase Object |
子類別 | Motion |
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
duration : int
控制 Motion 實體的時間長度 (以影格為單位)。 | MotionBase | ||
is3D : Boolean
指定此移動是否包含 3D 屬性變更。 | MotionBase | ||
keyframes : Array
關鍵影格的陣列,這些關鍵影格會定義移動在一段時間中的行為指令。 | MotionBase |
方法 | 定義自 | ||
---|---|---|---|
MotionBase(xml:XML = null)
MotionBase 實體的建構函式。 | MotionBase | ||
addFilterPropertyArray(index:int, name:String, values:Array, startFrame:int = -1, endFrame:int = -1):void
修改 Motion 物件的所有對應關鍵影格中的濾鏡屬性。 | MotionBase | ||
將關鍵影格物件加入至 Motion 實體。 | MotionBase | ||
將值陣列儲存在與 Motion 類別的已宣告屬性對應的關鍵影格中。 | MotionBase | ||
會擷取 Motion 實體中特定時間索引的內插補 ColorTransform 物件。 | MotionBase | ||
擷取位於 Motion 實體內特定影格之目前作用中的關鍵影格。 | MotionBase | ||
會擷取 Motion 實體中特定時間索引的內插補濾鏡陣列。 | MotionBase | ||
針對動畫影格的指定索引位置傳回 Matrix 物件。 | MotionBase | ||
針對動畫影格的指定索引位置傳回 Matrix3D 物件。 | MotionBase | ||
擷取 Motion 實體中特定影格之後的下一個關鍵影格。 | MotionBase | ||
會擷取某個時間點的 animation 屬性值。 | MotionBase | ||
指出物件是否有已定義的指定屬性。 | Object | ||
initFilters(filterClasses:Array, gradientSubarrayLengths:Array, startFrame:int = -1, endFrame:int = -1):void
初始化目標物件的濾鏡清單,並將此濾鏡清單複製到 Motion 物件的每個 Keyframe 實體。 | MotionBase | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
MotionBase | |||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
設定 Motion 實體中所指定時間索引的特定可補間屬性值。 | MotionBase | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
當 addPropertyArray() 方法提供移動資料時,則旋轉目標物件。 | MotionBase | ||
會傳回指定之物件的基本值。 | Object |
duration | 屬性 |
is3D | 屬性 |
keyframes | 屬性 |
public var keyframes:Array
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
關鍵影格的陣列,這些關鍵影格會定義移動在一段時間中的行為指令。 這個屬性是稀疏陣列,其中會將關鍵影格放置於陣列中符合其本身索引的索引位置。 因此,關鍵影格位於 0 和 5 的 Motion 物件將會具有長度為 6 的關鍵影格陣列。 陣列中的索引 0 和 5 分別包含一個關鍵影格,而索引 1 至 4 具有 null 值。
MotionBase | () | 建構函式 |
addFilterPropertyArray | () | 方法 |
public function addFilterPropertyArray(index:int, name:String, values:Array, startFrame:int = -1, endFrame:int = -1):void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
修改 Motion 物件的所有對應關鍵影格中的濾鏡屬性。使用這個方法之前,請先呼叫 initFilters()
。陣列中的值順序決定了將每個值指定給所有關鍵影格之濾鏡屬性的方式。對於指定之 values
陣列中的每個非 null 值來說,這個方法會尋找在陣列中對應至值索引位置的關鍵影格,然後將濾鏡的屬性名稱/值配對儲存在此關鍵影格中。
參數
index:int — 濾鏡陣列中的索引位置 (從零開始)。
| |
name:String — 要儲存在每個關鍵影格中的濾鏡屬性名稱。
| |
values:Array — 在 name 參數中指定之屬性的值陣列。每個非 null 值會指定給在陣列中與值索引對應之關鍵影格的濾鏡。
| |
startFrame:int (default = -1 )
| |
endFrame:int (default = -1 )
|
相關 API 元素
addKeyframe | () | 方法 |
public function addKeyframe(newKeyframe:KeyframeBase):void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
將關鍵影格物件加入至 Motion 實體。
參數
newKeyframe:KeyframeBase — 已經設定 index 屬性的關鍵影格物件。
|
相關 API 元素
addPropertyArray | () | 方法 |
public function addPropertyArray(name:String, values:Array, startFrame:int = -1, endFrame:int = -1):void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
將值陣列儲存在與 Motion 類別的已宣告屬性對應的關鍵影格中。陣列中的值順序會決定將每個值指定給關鍵影格的方式。對於指定之 values
陣列中的每個非 null 值來說,這個方法會尋找在陣列中對應至值索引位置的關鍵影格,或針對該索引位置建立新的關鍵影格,然後將屬性名稱/值配對儲存在此關鍵影格中。
參數
name:String — 要儲存在每個關鍵影格中之 Motion 類別屬性的名稱。
| |
values:Array — 在 name 參數中指定之屬性的值陣列。每個非 null 值會指定給在陣列中對應至值順序的關鍵影格。
| |
startFrame:int (default = -1 )
| |
endFrame:int (default = -1 )
|
相關 API 元素
getColorTransform | () | 方法 |
public function getColorTransform(index:int):flash.geom:ColorTransform
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會擷取 Motion 實體中特定時間索引的內插補 ColorTransform 物件。
參數
index:int — Motion 實體中影格的時間索引 (大於或等於零的整數)。
|
flash.geom:ColorTransform — 漸變 ColorTransform 物件。
|
相關 API 元素
getCurrentKeyframe | () | 方法 |
public function getCurrentKeyframe(index:int, tweenableName:String = ""):KeyframeBase
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
擷取位於 Motion 實體內特定影格之目前作用中的關鍵影格。 非關鍵影格的影格會從之前的關鍵影格衍生值。
此方法也可以依據特定可補間屬性的名稱,對值進行篩選。 您可以尋找 x
的目前作用中關鍵影格,這可能與一般的目前作用中關鍵影格不同。
參數
index:int — Motion 實體中的影格索引 (大於或等於零的整數)。
| |
tweenableName:String (default = " ") — 可補間屬性的選擇性名稱,如 "x" 或 "rotation" 。
|
KeyframeBase — 位於所提供之影格索引位置或之前的最接近相符關鍵影格。
|
相關 API 元素
getFilters | () | 方法 |
getMatrix | () | 方法 |
public function getMatrix(index:int):Matrix
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 10, AIR 1.5, AIR 1.0 |
針對動畫影格的指定索引位置傳回 Matrix 物件。
參數
index:int — 包含矩陣之動畫影格的索引位置 (從零開始)。
|
Matrix — Matrix 物件,或是 null 值。即使 MotionBase.is3D 為 false ,此方法仍舊可以傳回 null 值,因為使用其他的移動補間動畫屬性變更不需要搭配 Matrix3D 物件一起使用。
|
相關 API 元素
getMatrix3D | () | 方法 |
public function getMatrix3D(index:int):Object
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 10, AIR 1.5, AIR 1.0 |
針對動畫影格的指定索引位置傳回 Matrix3D 物件。
參數
index:int — 包含 3D 矩陣之動畫影格的索引位置 (從零開始)。
|
Object — Matrix3D 物件,或是 null 值。即使 MotionBase.is3D 為 true ,此方法仍舊可以傳回 null 值,因為其他的 3D 移動補間動畫屬性變更不需要搭配 Matrix3D 物件一起使用。
|
相關 API 元素
getNextKeyframe | () | 方法 |
public function getNextKeyframe(index:int, tweenableName:String = ""):KeyframeBase
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
擷取 Motion 實體中特定影格之後的下一個關鍵影格。 如果某個影格不是關鍵影格,而且位於補間動畫的中間,此方法就會從之前和之後的關鍵影格衍生值。
此方法同時可讓您依據特定可補間屬性名稱來篩選,以找出某個屬性的下一個關鍵影格,一般來說,此屬性不會與下一個關鍵影格相同。
參數
index:int — Motion 實體中的影格索引 (大於或等於零的整數)。
| |
tweenableName:String (default = " ") — 可補間屬性的選擇性名稱,如 "x" 或 "rotation" 。
|
KeyframeBase — 位於所提供之影格索引之後的最接近相符關鍵影格。
|
相關 API 元素
getValue | () | 方法 |
public function getValue(index:Number, tweenableName:String):Number
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會擷取某個時間點的 animation 屬性值。
參數
index:Number — Motion 實體中影格的時間索引 (大於或等於零的整數)。
| |
tweenableName:String — 可補間屬性的名稱,如 "x" 或 "rotation" 。
|
Number — tweenableName 參數中指定的屬性數值。
|
相關 API 元素
initFilters | () | 方法 |
public function initFilters(filterClasses:Array, gradientSubarrayLengths:Array, startFrame:int = -1, endFrame:int = -1):void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
初始化目標物件的濾鏡清單,並將此濾鏡清單複製到 Motion 物件的每個 Keyframe 實體。
參數
filterClasses:Array — 濾鏡類別的陣列。此陣列中的每個項目都是佔用該索引之濾鏡類型的完整類別名稱 (採用字串形式)。
| |
gradientSubarrayLengths:Array — 數字陣列,內含每個濾鏡的值,且該值將列於移動的濾鏡清單中 (filterClasses 陣列中的每個類別名稱)。 gradientSubarrayLengths 陣列中的值,只有當位於 filterClasses 陣列中相同索引位置上的濾鏡類別項目為 GradientGlowFilter 或 GradientBevelFilter 時才會使用。gradientSubarrayLengths 陣列中的對應值是一個可決定陣列長度的數字,用以初始化 GradientGlowFilter 和 GradientBevelFilter 建構函數的 colors 、alphas ,以及 ratios 參數。
| |
startFrame:int (default = -1 )
| |
endFrame:int (default = -1 )
|
相關 API 元素
overrideTargetTransform | () | 方法 |
setValue | () | 方法 |
public function setValue(index:int, tweenableName:String, value:Number):void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
設定 Motion 實體中所指定時間索引的特定可補間屬性值。 如果該索引位置沒有關鍵影格,則會自動建立一個關鍵影格。
參數
index:int — Motion 實體中影格的時間索引 (大於零的整數)。 如果索引為零,就不會進行任何變更。 由於 Transformation 屬性是相對於目標物件的開始變形值,所以第一個影格的值 (零開始的值) 一定是預設值,而且不應該變更。
| |
tweenableName:String — 可補間屬性的名稱字串 (如 "x" 或 "rotation" )。
| |
value:Number — 可補間屬性的新值。
|
相關 API 元素
useRotationConcat | () | 方法 |
package { import flash.display.MovieClip; import flash.display.Sprite; import fl.motion.AnimatorFactory; import fl.motion.MotionBase; import flash.geom.Point; public class MotionBaseExample extends MovieClip { private var motionBase:MotionBase; private var animFactory:AnimatorFactory; private var size:uint = 100; private var bgColor:uint = 0xFFCC00; public function MotionBaseExample():void { var boxObj:sprite = new Sprite(); boxObj.graphics.beginFill(bgColor); boxObj.graphics.drawRect(0, 0, size, size); boxObj.graphics.endFill(); addChild(boxObj); motionBase = new MotionBase(); motionBase.duration = 20; motionBase.addPropertyArray("x",[0,50,95,134,169,199,225,247,265,280]); motionBase.addPropertyArray("y",[0,1,0,4,12,21,32,44,52,38]); animFactory = new AnimatorFactory(motionBase); animFactory.transformationPoint = new Point(2, 2); animFactory.addTarget(boxObj, 0); } } }
Tue Jun 12 2018, 03:47 PM Z