包 | 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
一个关键帧数组,定义 Motion 在不同时间的行为。 | 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 | ||
检索某个时间点处的动画属性值。 | 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 |
一个关键帧数组,定义 Motion 在不同时间的行为。 此属性是一个稀疏数组,其中,关键帧放置在数组中与其自身的索引相匹配的索引位置。 一个在 0 和 5 索引位置具有关键帧的 Motion 对象将具有长度为 6 的关键帧数组。 数组中的索引 0 和 5 处各包含一个关键帧,索引 1 到 4 处则包含空值。
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
数组中的每个非空值,此方法将会查找与数组中值的索引位置相对应的关键帧,并在该关键帧中存储滤镜的属性名称/值对。
参数
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 属性的 Keyframe 对象。
|
相关 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
数组中的每个非空值,此方法查找与该值在数组中的索引位置对应的关键帧,或者为该索引位置创建新关键帧,并将属性名称/值对存储在关键帧中。
参数
name:String — 要存储在每个关键帧中的 Motion 类属性的名称。
| |
values:Array — name 参数中指定的属性的值数组。将每个非空值分配到与该值在数组中的顺序对应的关键帧。
| |
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 值。此方法可以返回 null 值,即使 MotionBase.is3D 为 false 也一样,因为在没有 Matrix 对象的情况下,可以使用其他补间动画属性更改。
|
相关 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 值。此方法可以返回一个 null 值(即使 MotionBase.is3D 为 true ),因为没有 Matrix3D 对象也可以使用其它 3D 补间动画属性的变更。
|
相关 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 |
检索某个时间点处的动画属性值。
参数
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 数组中的每个类名称)对应的值。仅当位于 filterClasses 数组中相同索引位置的滤镜类条目是 GradientGlowFilter 或 GradientBevelFilter 时,才会使用 gradientSubarrayLengths 数组中的值。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 实例中帧的时间索引(大于零的整数)。如果索引等于零,则不会进行任何更改。变形属性是相对于目标对象的起始变形值而言的,因此,第一帧的值(零索引值)始终为默认值,且不应该进行更改。
| |
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, 11:04 AM Z