Puede describir una interpolación de movimiento utilizando XML y las clases de ActionScript del paquete fl.motion. Adobe Flash Professional dispone del comando "Copiar movimiento como ActionScript" que genera código XML y ActionScript basado en una interpolación de movimiento en la línea de tiempo para su uso con otros símbolos o proyectos. También puede crear un script de su propia interpolación de movimiento. La interpolación se aplicará al objeto de visualización especificado, siempre y cuando tenga las clases fl.motion en la ruta de clases en tiempo de compilación. Para obtener más información sobre las clases motion, consulte el paquete fl.motion. Los elementos del XML compatible se corresponden con las clases y propiedades de la Referencia del lenguaje ActionScript 3.0.
© 2015 Adobe Systems Incorporated. All rights reserved.
Tue Jun 12 2018, 02:29 PM Z
Esta es la jerarquía de los elementos 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>
En la tabla siguiente se resumen brevemente los elementos y atributos XML que se pueden asignar a un objeto de movimiento. Para más información sobre cada una de las entradas, consulte la lista de propiedades de las clases correspondientes a cada elemento:
Elemento | Atributo | Tipo | Descripción |
---|---|---|---|
Motion | Define la instancia Motion de modo que Flash pueda asignar propiedades para la caracterización de la interpolación de movimiento. Consulte la clase fl.motion.Motion. | ||
duration | Number | Número de fotogramas de la interpolación de movimiento seleccionada. Consulte la propiedad fl.motion.MotionBase.duration. | |
source | Contiene las propiedades del objeto visual original asociado al movimiento. Consulte la clase fl.motion.Source. | ||
Source | frameRate | Number | El parámetro de fotogramas por segundo (fps) correspondiente al archivo SWF que contiene la animación original copiada desde Flash Professional. Este valor no afecta a la implementación de ActionScript en un archivo SWF diferente. Consulte la propiedad fl.motion.Source.frameRate. |
x | Number | Coordenada x del punto de transformación de la instancia de símbolo al principio de la interpolación de movimiento original copiada desde Flash Professional. | |
y | Number | Coordenada y del punto de transformación de la instancia de símbolo al principio de la interpolación de movimiento original copiada desde Flash Professional. | |
scaleX | Number | El porcentaje de la escala horizontal como valor decimal. El valor suele estar comprendido entre 0 y 1, pero puede ser mayor que 1 o menor que 0. Por ejemplo, puede establecer scaleX como -1 para girar el objeto, o en 3 para aumentar tres veces su tamaño original. | |
skewX | Number | Ángulo (en grados) de inclinación a lo largo del eje horizontal. Si los valores skewX y skewY son iguales, estos son sustituidos por el atributo rotation. | |
skewY | Number | El ángulo (en grados) de inclinación a lo largo del eje vertical. Si los valores skewX y skewY son iguales, estos son sustituidos por el atributo rotation. | |
rotation | Number | Los grados de giro del fotograma inicial. | |
elementType | String | Tipo de objeto visual utilizado en la interpolación de movimiento. Los valores posibles son: "movie clip", "button", "graphic", "rectangle object", "oval object", "drawing object", "group", "bitmap", "compiled clip", "video" o "text". | |
symbolName | String | Nombre del símbolo en la biblioteca del documento de Adobe Flash Professional, si existe (ya que puede que el objeto visual original no sea una instancia de símbolo). | |
dimensions | Contiene las etiquetas que utilizan el espacio de nombres geom para describir el recuadro de delimitación y el punto de transformación del símbolo interpolado. | ||
geom:Rectangle | Un objeto del paquete flash.geom. | Puede añadir atributos que se correspondan con las propiedades del objeto flash.geom.Rectangle. Por ejemplo: <geom:Rectangle left="7" top="9" width="151.95" height="151.95" />Los valores top y left son relativos al punto de registro del objeto principal (top y left se definen en el espacio de coordenadas del objeto principal. | |
geom:Point | Un objeto del paquete flash.geom. | Las coordenadas del punto de transformación se definen como un porcentaje de las dimensiones del recuadro de delimitación (valores del elemento geom:Rectangle). Si el punto de transformación es la esquina superior izquierda del recuadro, las coordenadas son (0, 0), Si el punto es la esquina inferior derecha del recuadro, las coordenadas son (1, 1). Estos valores permiten aplicar el punto de transformación de forma coherente a objetos de proporciones y puntos de registro diferentes. El punto de transformación se puede situar fuera del recuadro de delimitación, en cuyo caso las coordenadas pueden ser inferiores a 0 o superiores a 1. | |
Keyframe | Contiene información correspondiente a un fotograma clave en la línea de tiempo. | ||
blank | Boolean | Indica que el fotograma clave está vacío. | |
index | Number | Valor entero exclusivo para el fotograma clave. El primer índice del fotograma clave siempre es 0. Los fotogramas clave en XML se deben especificar en orden ascendente a partir del valor del índice. | |
label | String | Cadena opcional que describe el fotograma clave y se corresponde con una etiqueta de fotograma en la línea de tiempo. | |
tweenSync | Boolean | Alterna el parámetro de sincronización entre activado ("true") y desactivado ("false"). Sync recalcula el número de fotogramas de una interpolación para que coincida con el número de fotogramas que se le asigna en la línea de tiempo. Este atributo no afecta a la animación de ActionScript, ya que este último no puede controlar los símbolos gráficos. Los comandos Copiar movimiento y Pegar movimiento de Adobe Flash Professional son los únicos que utilizan el atributo XML. Si se omite del XML, el valor predeterminado es true. | |
tweenSnap | Boolean | Alterna el parámetro Snap entre activado ("true") y desactivado ("false"). Snap asocia un símbolo a la ruta de movimiento por su punto de registro. Este atributo no afecta a la animación de ActionScript, ya que este último no puede controlar los símbolos gráficos. Los comandos Copiar movimiento y Pegar movimiento de Adobe Flash Professional son los únicos que utilizan el atributo XML. Si se omite del XML, el valor predeterminado es true. | |
x | Number | Coordenada x del punto central de la instancia de símbolo en el fotograma clave actual. | |
y | Number | Coordenada y del punto central de la instancia de símbolo en el fotograma clave actual. | |
scaleX | Number | Porcentaje de la escala horizontal como un valor decimal entre 0 y 1. El valor suele estar comprendido entre 0 y 1, pero puede ser mayor que 1 o menor que 0. Por ejemplo, puede establecer la propiedad scaleX en -1 para girar el objeto, o en 3 para aumentar tres veces su tamaño original. | |
scaleY | Number | Porcentaje de la escala vertical como un valor decimal entre 0 y 1. El valor suele estar comprendido entre 0 y 1, pero puede ser mayor que 1 o menor que 0. Por ejemplo, puede establecer la propiedad scaleY en -1 para girar el objeto, o en 3 para aumentar tres veces su tamaño original. | |
skewX | Number | Ángulo (en grados) de inclinación a lo largo del eje horizontal. Si los valores skewX y skewY son iguales, estos son sustituidos por el atributo rotation. | |
skewY | Number | El ángulo (en grados) de inclinación a lo largo del eje vertical. Si los valores skewX y skewY son iguales, estos son sustituidos por el atributo rotation. | |
rotation | Number | Los grados de giro del fotograma actual. | |
rotateDirection | String | Especifica el modo en que gira el elemento interpolado. Los valores posibles son "auto", "none", "cw" y "ccw". Si se omite del XML, el valor predeterminado es "auto". | |
rotateTimes | Number | Especifica el número de veces que el elemento interpolado gira entre el fotograma clave inicial y el siguiente, además del giro normal. Adobe Flash Professional requiere que el valor sea 0 o un entero de valor superior. Sin embargo, las clases de movimiento permiten el uso de valores decimales. | |
tweenScale | Boolean | Si el valor es false, se evita que cambie la escala durante una interpolación. Si se omite del XML, el valor predeterminado es true. | |
cacheAsBitmap | Boolean | Si se omite del XML, el valor predeterminado es false. | |
blendMode | String | Los valores posibles son "normal", "layer", "multiply", "screen", "overlay", "hardlight", "lighten", "darken", "difference", "add", "subtract", "invert", "alpha" y "erase". Si se omite del XML, el valor predeterminado es "normal". | |
orientToPath | Boolean | Si se omite del XML, el valor predeterminado es false. | |
Color | Contiene la configuración correspondiente a las variaciones de color. Las instancias de símbolos de Flash tienen cinco modos de color: none (ninguno), alpha (alfa), tint (tinte), brightness (brillo) y advanced (avanzado). Si no hay transformación (none), la etiqueta Color está vacía, lo que indica aspecto normal. En el caso de transformaciones alfa, establezca los atributos alphaMultiplier y alphaOffset. En transformaciones de tinte, establezca los atributos tintColor y tintMultiplier.En transformaciones de brillo, utilice el atributo brightness.En transformaciones avanzadas, utilice los atributos redMultiplier, greenMultiplier, blueMultiplier, alphaMultiplier, redOffset, greenOffset, blueOffset y alphaOffset. | ||
brightness | Number | Porcentaje que se aplica al canal de brillo, entre -1 y 1, donde -1 es completamente negro y 1 completamente blanco. | |
tintColor | Hexadecimal | Valor de color hexadecimal que representa el color que se aplica. | |
alphaMultiplier | Number | Porcentaje que se aplica al canal alfa, expresado como valor decimal entre 0 y 1. | |
redMultiplier | Number | Porcentaje que se aplica al color, expresado como valor decimal entre 0 y 1. | |
greenMultiplier | Number | Porcentaje que se aplica al color, expresado como valor decimal entre 0 y 1. | |
blueMultiplier | Number | Porcentaje que se aplica al color, expresado como valor decimal entre 0 y 1. | |
alphaMultiplier | Number | Valor decimal entre 0 y 1 que representa el porcentaje que se aplica al canal de transparencia alfa. | |
tintMultiplier | Number | Valor decimal entre 0 y que representa el porcentaje que se aplica con el valor tintColor. | |
redOffset | Number | Número de -255 a 255 que se añade al valor del canal rojo después de multiplicarse por el valor de redMultiplier. | |
greenOffset | Number | Número de -255 a 255 que se añade al valor del canal verde después de multiplicarse por el valor de greenMultiplier. | |
blueOffset | Number | Número de -255 a 255 que se añade al valor del canal azul después de multiplicarse por el valor de blueMultiplier. | |
alphaOffset | Number | Número de -255 a 255 que se añade al valor del canal alfa después de multiplicarse por el valor de alphaMultiplier. | |
tweens | Contiene la configuración correspondiente a las variaciones de aceleración. | ||
SimpleEase | Define un parámetro de aceleración con un único valor a lo largo de la interpolación de movimiento para todas las propiedades de aceleración. | ||
ease | Number | Valor de aceleración que se aplica a todas las propiedades de la interpolación de movimiento. El atributo de aceleración es un valor de porcentaje comprendido entre -1 (100% de aceleración) y 1 (100% de desaceleración). El valor predeterminado es 0, lo que indica que la interpolación se anima a velocidad constante, sin aceleración ni desaceleración. | |
target | Number | Al utilizar los comandos Copiar movimiento y Pegar movimiento de Adobe Flash Professional, la herramienta de edición genera XML que no incluye un atributo target para el elemento SimpleEase, ya que Flash Professional aplica el mismo valor a todas las propiedades de aceleración. No obstante, las clases de ActionScript 3.0 permiten aplicar diferentes valores SimpleEase a propiedades individuales a la vez. Los valores posibles de target son los mismos que para CustomEase: "position", "scale", "rotation", "color", "filters", "x", "y", "scaleX", "scaleY", "skewX" y "skewY". | |
CustomEase | Define una curva de aceleración personalizada compuesta de curvas cúbicas Bézier. Esta se puede aplicar a todas las propiedades a la vez, o se pueden definir curvas diferentes para propiedades distintas. Para más información sobre las curvas que representan propiedades de aceleración personalizadas, consulte la clase CustomEase. | ||
target | Number | Propiedad a la que se asigna un valor personalizado. Al utilizar los comandos Copiar movimiento y Pegar movimiento de Adobe Flash Professional, la herramienta de edición genera estos posibles valores para target: "position", "scale", "rotation", "color", "filters". Las clases de movimiento de ActionScript 3.0 son incluso más flexibles: puede definir curvas individuales para : "x", "y", "scaleX", "scaleY", "skewX" y "skewY". Si el atributo "target" se omite del XML, todas las propiedades de aceleración se tomarán como destino a la vez. Nota: el XML omite los puntos primero y final en la curva de aceleración personalizada. El primer punto debe ser siempre (0, 0) (el valor inicial de la propiedad interpolada) y el último (1, 1) (el valor final de la propiedad interpolada). Para mantener la eficacia del código y evitar posibles errores, estos valores se omiten del XML y se asumen como implícitos. | |
BezierControl | Punto relativo a una curva utilizado para definir dicha curva. | ||
x | Number | Coordenada x del punto utilizado para definir una curva. | |
y | Number | Coordenada y del punto utilizado para definir una curva. | |
BezierNode | Punto en una curva utilizado para definir dicha curva. | ||
x | Number | Coordenada x del punto en una curva. | |
y | Number | Coordenada y del punto en una curva. | |
filters | Define un objeto del paquete flash.filters para utilizarlo como un elemento (por ejemplo, filters:GlowFilter). Se pueden añadir atributos que se correspondan con las propiedades del objeto flash.filters especificado. Por ejemplo: <filters:DropShadowFilter quality="1" inner="false" knockout="false" hideObject="false" distance="0" angle="45" color="0x000000" alpha="1" blurX="0" blurY="0" strength="0" />. Consulte el paquete flash.filters. |
En el ejemplo siguiente, se muestra el ActionScript con XML incluido que describe la interpolación de movimiento de una instancia de clip de película moveShape para el símbolo myShape a medida que gira, se mueve, utiliza un parámetro de aceleración personalizado y cambia los valores alfa en diez fotogramas:
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();
Tue Jun 12 2018, 02:29 PM Z