用于 Adobe® Flash® Platform 的 ActionScript® 3.0 参考
主页  |  隐藏包列表和类列表 |   |   |  新增内容  |  索引  |  附录  |  为什么显示为英语?
过滤条件: 正在从服务器检索数据...
正在从服务器检索数据...
 

Motion XML 元素  

可以使用 XML 和 fl.motion 包中的 ActionScript 类来描述补间动画。Adobe Flash Professional 具有“将动画复制为 ActionScript 脚本”命令,该命令可基于时间轴上的补间动画生成 XML 和 ActionScript,以在其他符号或其他项目中使用。也可以编写自己的补间动画的脚本。只要编译时在类路径中具有 fl.motion 类,就可将补间动画应用于指定的显示对象。有关动画类的详细信息,请参阅 fl.motion 包。支持 XML 的元素与《用于 Adobe Flash Platform 的 ActionScript 3.0 参考》中的类和属性相对应。

XML 元素层次结构如下所示:

<Motion> 
 <Source> 
      <dimensions/> 
        <geom:Rectangle /> 
      </dimensions> 
      <transformationPoint> 
        <geom:Point /> 
      </transformationPoint> 
  </Source> 
  <Keyframe> 
    <color>  
      <Color /> 
    </color>      
    <tweens> 
      <SimpleEase /> 
      <CustomEase> 
      <BezierControl /> 
        <BezierNode /> 
      </CustomEase> 
    </tweens> 
    <filters>  
      <filters /> 
    </filters>    
  </Keyframe> 
</Motion>

下表简要总结了可分配给动画对象的 XML 元素和属性,有关每个条目的更多详细信息,请参阅与每个元素对应的类中列出的属性:

元素属性类型说明
Motion  定义 Motion 实例,以便 Flash 可以分配用于描述补间动画特性的属性。请参阅 fl.motion.Motion 类。
 durationNumber所选补间动画的帧数。请参阅 fl.motion.MotionBase.duration 属性。
source  包含与动画相关的原始可视对象的属性。请参阅 fl.motion.Source 类。
SourceframeRateNumber为包含从 Flash Professional 中复制的原始动画的 SWF 文件设置的每秒帧数 (fps)。此值对于在其他 SWF 文件中实现 ActionScript 无效。请参阅 fl.motion.Source.frameRate 属性。
 xNumber位于从 Flash Professional 复制的原始补间动画的开始位置的符号实例变形点的 x 坐标。
 yNumber位于从 Flash Professional 复制的原始补间动画的开始位置的符号实例变形点的 y 坐标。
 scaleXNumber以小数值表示的水平缩放百分比。此值通常介于 0 和 1 之间,但可以大于 1 或小于 0。例如,您可以将 scaleX 设置为 -1 以翻转对象,或者将其设置为 3 以将对象放大到原大小的三倍。
 skewXNumber沿着水平轴剪切的角度(以度为单位)。如果 skewX 和 skewY 值相等,它们将由 rotation 属性替换。
 skewYNumber沿着垂直轴剪切的角度(以度为单位)。如果 skewX 和 skewY 值相等,它们将由 rotation 属性替换。
 rotationNumber初始帧的旋转角度。
 elementType字符串补间动画中使用的可视对象的类型。可能的值为:“movie clip”、“button”、“graphic”、“rectangle object”、“oval object”、“drawing object”、“group”、“bitmap”、“compiled clip”、“video”或“text”。
 symbolName字符串由于原始可视对象可能不是符号实例,因此,如果存在 Adobe Flash Professional 文档库中的符号,则为该符号的名称。
dimensions  包含一些标签,这些标签使用 geom 命名空间来描述补间符号的边框和变形点。
geom:Rectangle  flash.geom 包中的对象。可以添加与 flash.geom.Rectangle 对象的属性 (property) 相对应的属性 (attribute)。例如: <geom:Rectangle left="7" top="9" width="151.95" height="151.95" />top 和 left 值是相对于父对象的注册点而言的(top 和 left 在父对象的坐标空间中定义)。
geom:Point flash.geom 包中的对象。变形点的坐标是按边框尺寸(geom:Rectangle 元素的值)的百分比定义的。如果变形点是边框的左上角,则坐标为 (0, 0)。如果变形点是边框的右下角,则坐标为 (1, 1)。这些值允许将变形点一致应用于不同比例的对象和注册点。变形点可以在边框以外,在这种情况下,坐标可能小于 0 或大于 1。
Keyframe  包含与时间轴上关键帧相对应的信息。
 blankBoolean指示关键帧为空。
 indexNumber表示关键帧的唯一整数值。第一个关键帧索引始终为 0。必须以索引值的升序来指定 XML 中的关键帧。
 label字符串一个可选字符串,用于描述关键帧并与时间轴上的帧标签相对应。
 tweenSyncBoolean在打开(“true”)和关闭(“false”)之间切换同步设置。“同步”重新计算补间的帧数,以与在时间轴上分配给补间的帧数相匹配。此属性不影响 ActionScript 动画,因为 ActionScript 不能控制图形符号。XML 属性只能由 Adobe Flash Professional 的“复制动画”和“粘贴动画”命令使用。如果从 XML 中省略,则默认值为 true。
 tweenSnapBoolean在打开(“true”)和关闭(“false”)之间切换对齐设置。“对齐”根据符号的注册点将符号附加到运动路径。此属性不影响 ActionScript 动画,因为 ActionScript 不能控制图形符号。XML 属性仅用于 Adobe Flash Professional 的“复制动画”和“粘贴动画”命令。如果从 XML 中省略,则默认值为 true。
 xNumber当前关键帧上符号实例的中心点的 x 坐标。
 yNumber当前关键帧上符号实例的中心点的 y 坐标。
 scaleXNumber以 0 到 1 之间的小数值表示的水平缩放百分比。该值通常在 0 到 1 之间,但可以大于 1 或小于 0。例如,可以将 scaleX 设置为 -1 以翻转对象,或将其设置为 3 以将对象放大到原始大小的 3 倍。
 scaleYNumber以 0 到 1 之间的小数值表示的垂直缩放百分比。该值通常在 0 到 1 之间,但可以大于 1 或小于 0。例如,可以将 scaleY 设置为 -1 以翻转对象,或将其设置为 3 以将对象放大到原始大小的 3 倍。
 skewXNumber沿着水平轴剪切的角度(以度为单位)。如果 skewX 和 skewY 值相等,它们将由 rotation 属性替换。
 skewYNumber沿着垂直轴剪切的角度(以度为单位)。如果 skewX 和 skewY 值相等,它们将由 rotation 属性替换。
 rotationNumber当前帧的旋转角度。
 rotateDirection字符串指定补间元素如何旋转。可能的值包括“auto”、“none”、“cw”、“ccw”。如果从 XML 中省略,则默认值为“auto”。
 rotateTimesNumber指定补间元素在起始关键帧和下一关键帧之间旋转的次数(包括正常旋转)。Adobe Flash Professional 要求该值为一个大于或等于 0 的整数值,而动画类允许小数值。
 tweenScaleBoolean如果为 false,则阻止在补间期间更改缩放。如果从 XML 中省略,则默认值为 true。
 cacheAsBitmapBoolean如果从 XML 中省略,则默认值为 false。
 blendMode字符串可能的值包括“normal”、“layer”、“multiply”、“screen”、“overlay”、“hardlight”、“lighten”、“darken”、“difference”、“add”、“subtract”、“invert”、“alpha”和“erase”。如果从 XML 中省略,则默认值为“normal”。
 orientToPathBoolean如果从 XML 中省略,则默认值为 false。
Color  包含颜色变化的设置。Flash 符号实例有五种颜色模式:无、Alpha、色调、亮度和高级颜色。 对于无转换(无)模式,Color 标签为空,指示正常外观。对于 alpha 转换,请设置 alphaMultiplier 和 alphaOffset 属性。对于色调转换模式,请设置 tintColor 和 tintMultiplier 属性。对于亮度转换模式,请使用 brightness 属性。对于高级颜色转换模式,请使用 redMultiplier、greenMultiplier、blueMultiplier、alphaMultiplier、redOffset、greenOffset、blueOffset 和 alphaOffset 属性。
 brightnessNumber应用亮度通道的百分比在 -1 和 1 之间,其中 -1 为全黑而 1 为全白。
 tintColorHexidecimal表示要应用的颜色的十六进制颜色值。
 alphaMultiplierNumber应用 Alpha 通道的百分比(0 到 1 之间的小数值)。
 redMultiplierNumber应用颜色的百分比(0 到 1 之间的小数值)。
 greenMultiplierNumber应用颜色的百分比(0 到 1 之间的小数值)。
 blueMultiplierNumber应用颜色的百分比(0 到 1 之间的小数值)。
 alphaMultiplierNumber表示应用 alpha 透明通道的百分比的 0 到 1 之间的小数值。
 tintMultiplierNumber表示应用 tintColor 值的百分比的 0 到 1 之间的小数值。
 redOffsetNumber-255 到 255 之间的数字,它先与 redMultiplier 值相乘,再与红色通道值相加。
 greenOffsetNumber-255 到 255 之间的数字,它先与 greenMultiplier 值相乘,再与绿色通道值相加。
 blueOffsetNumber-255 到 255 之间的数字,它先与 blueMultiplier 值相乘,再与蓝色通道值相加。
 alphaOffsetNumber-255 到 255 之间的数字,它先与 alphaMultiplier 值相乘,再与 Alpha 通道值相加。
tweens  包含缓动变化的设置。
SimpleEase  对所有缓动属性而言,在整个补间动画中为每个缓动设置定义一个单独的值。
 easeNumber应用于补间动画的所有属性的缓动值。缓动属性是介于 -1(100% 缓入或加速)和 1(100% 缓出或减速)之间的百分比。默认值为 0,指的是补间动画的速度固定,不加速也不减速。
 targetNumber在使用 Adobe Flash Professional 的“复制动画”和“粘贴动画”命令时,创作工具生成的 XML 不包含 SimpleEase 元素的 target 属性,因为 Flash Professional 对所有缓动属性都应用相同的值。然而,ActionScript 3.0 类允许同时对各个属性应用不同的 SimpleEase 值。目标的可能值与 CustomEase 的相同:“position”、“scale”、“rotation”、“color”、“filters”、“x”、“y”、“scaleX”、“scaleY”、“skewX”和“skewY”。
CustomEase  定义一个由三次贝塞尔曲线组成的自定义缓动曲线。它可以一次应用于所有属性,或您可以为不同属性定义不同的曲线。 有关表示自定义缓动属性的曲线的更多信息,请参阅 CustomEase 类。
 targetNumber分配了自定义值的属性。在使用 Adobe Flash Professional 的“复制动画”和“粘贴动画”命令时,创作工具可能为目标生成下列值:“position”、“scale”、“rotation”、“color”、“filters”。ActionScript 3.0 动画类实现了更大的灵活性,您可以定义各个曲线的:“x”、“y”、“scaleX”、“scaleY”、“skewX”和“skewY”。如果从 XML 中省略了“target”属性,则所有缓动属性定义同一目标。 注意:XML 省略了自定义缓动曲线的第一个点和最后一个点。第一个点必须始终是 (0, 0)(补间属性的起始值),而最后一个点必须是 (1, 1)(补间属性的结束值)。为了保持代码有效并避免可能的错误,XML 中忽略这些值并将其假设为隐式。
BezierControl  一个与曲线相关的点,用于定义曲线。
 xNumber用于定义曲线的点的 x 坐标。
 yNumber用于定义曲线的点的 y 坐标。
BezierNode  曲线上的一个点,用于定义曲线。
 xNumber曲线上的点的 x 坐标。
 yNumber曲线上的点的 y 坐标。
filters  定义 flash.filters 包中要用作元素的对象(例如,filters:GlowFilter)。可以添加与指定的 flash.filters 对象的属性 (property) 相对应的属性 (attribute)。例如: <filters:DropShadowFilter quality="1" inner="false" knockout="false" hideObject="false" distance="0" angle="45" color="0x000000" alpha="1" blurX="0" blurY="0" strength="0" />。请参阅 flash.filters 包。

以下示例显示了具有内联 XML 的 ActionScript,其中描述了当符号 myShape 旋转、移动、使用自定义缓动设置并在 10 个帧以上更改 Alpha 值时,该符号的 moveShape 影片剪辑实例的补间动画:

import fl.motion.Animator; 
var moveShape_xml:XML = <Motion duration="10" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*"> 
    <source> 
        <Source frameRate="12" x="41.35" y="91.35" scaleX="1" scaleY="1" rotation="0" elementType="movie clip" instanceName="moveShape" symbolName="myShape"> 
            <dimensions> 
                <geom:Rectangle left="-46.65" top="-61.95" width="133.05" height="133.95"/> 
            </dimensions> 
            <transformationPoint> 
                <geom:Point x="0.49981210071401727" y="0.4998133631952222"/> 
            </transformationPoint> 
        </Source> 
    </source> 
   <Keyframe index="0" rotateTimes="2"> 
        <tweens> 
            <CustomEase> 
                <BezierControl x="0.08650266979261687" y="0.14705453864744866"/> 
                <BezierControl x="0.23675978562091857" y="0.28829454738109694"/> 
                <BezierNode x="0.2689728109485753" y="0.49688733564952436"/> 
                <BezierControl x="0.32093023255813957" y="0.8333333333333333"/> 
                <BezierControl x="0.5988021982960045" y="1.034249160488573"/> 
                <BezierNode x="0.7309082984924317" y="0.8685852488735627"/> 
                <BezierControl x="0.8116279069767443" y="0.767361111111111"/> 
                <BezierControl x="0.910302766164144" y="0.9730908298492431"/> 
            </CustomEase> 
        </tweens> 
    </Keyframe> 
    <Keyframe index="9" x="371.95" y="188"> 
        <color> 
            <Color alphaMultiplier="0.4" alphaOffset="0"/> 
        </color> 
    </Keyframe> 
</Motion>; 
var moveShape_animator:Animator = new Animator(moveShape_xml, moveShape); 
moveShape_animator.play();

[ X ]为什么显示为英语?
《ActionScript 3.0 参考》中的内容以英语显示

《ActionScript 3.0 参考》中的部分内容未翻译成所有语言。当某个语言元素未翻译时,将显示为英语。例如,ga.controls.HelpBox 类未翻译成任何语言。因此在简体中文版的参考中,ga.controls.HelpBox 类显示为英语。