Você pode descrever uma interpolação de movimento usando XML e as classes ActionScript do pacote fl.motion. O Adobe Flash Professional tem um comando “Copiar movimento como ActionScript”, que gera XML e ActionScript com base em uma interpolação de movimento da linha do tempo para uso em outros símbolos ou em outros projetos. Também é possível criar um script com sua própria interpolação de movimento. Desde que você tenha as classes fl.motion em seu caminho de classe na hora da compilação, a interpolação de movimento será aplicada ao objeto de exibição especificado. Para obter mais informações sobre as classes de movimento, consulte o pacote fl.motion. Os elementos do XML de suporte correspondem às classes e propriedades na ActionScript 3.0 Language Reference (Referência de Linguagem do ActionScript 3.0).
© 2015 Adobe Systems Incorporated. All rights reserved.
Wed Jun 13 2018, 11:28 AM Z
A hierarquia de elemento XML é a seguinte:
<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>
A tabela a seguir traz um breve resumo dos elementos e atributos XML, que podem ser atribuídos a um objeto de movimento. Para obter mais detalhes sobre cada entrada, consulte as propriedades listadas nas classes correspondentes a cada elemento:
Elemento | Atributo | Tipo | Descrição |
---|---|---|---|
Movimento | Define a ocorrência Movimento para que o Flash possa atribuir propriedades que caracterizem a interpolação de movimento. Consulte a classe fl.motion.Motion . | ||
duration | Número | Número de quadros da interpolação de movimento selecionada. Consulte a propriedade fl.motion.MotionBase.duration . | |
origem | Contém as propriedades do objeto visual original associado ao movimento. Consulte a classe fl.motion.Source. | ||
Origem | frameRate | Número | A configuração de quadros por segundo (fps) do arquivo SWF que contém a animação original copiada do Flash Professional. Este valor não tem efeito nenhum sobre a implementação do ActionScript em um arquivo SWF diferente. Consulte a propriedade fl.motion.Source.frameRate. |
x | Número | A coordenada x do ponto de transformação da ocorrência símbolo no início da interpolação de movimento original copiada do Flash Professional. | |
y | Número | A coordenada y do ponto de transformação da ocorrência símbolo no início da interpolação de movimento original copiada do Flash Professional. | |
scaleX | Número | A porcentagem da escala horizontal como um valor decimal. O valor geralmente está entre 0 e 1, mas pode ser maior que 1 ou menor que 0. Por exemplo, você pode definir scaleX como -1 para dobrar o objeto ou como 3 para fazê-lo ficar três vezes maior do que o tamanho original. | |
skewX | Número | O ângulo (em graus) de distorção ao longo do eixo horizontal. Se os valores skewX e skewY forem iguais, eles serão substituídos pelo atributo rotation. | |
skewY | Número | O ângulo (em graus) de distorção ao longo do eixo vertical. Se os valores skewX e skewY forem iguais, eles serão substituídos pelo atributo rotation. | |
rotation | Número | Os graus de rotação do quadro inicial. | |
elementType | String | O tipo de objeto visual usado na interpolação de movimento. Os valores possíveis são: "movie clip", "button", "graphic", "rectangle object", "oval object", "drawing object", "group", "bitmap", "compiled clip", "video" ou "text". | |
symbolName | String | Nome do símbolo na biblioteca de documentação do Adobe Flash Professional, se existir (uma vez que o objeto visual original pode não ser uma ocorrência de símbolo). | |
dimension: | Contém as marcas que usam o namespace geom para descrever a caixa delimitadora e o ponto de transformação do símbolo interpolado. | ||
geom:Rectangle | Um objeto do pacote flash.geom . | Você pode adicionar atributos que correspondam às propriedades do objeto flash.geom.Rectangle. Por exemplo: <geom:Rectangle left="7" top="9" width="151.95" height="151.95" />Os valores top e left são relativos ao ponto de registro do objeto-pai (top e left são definidos na coordenada de espaço do objeto-pai. | |
geom:Point | Um objeto do pacote flash.geom . | As coordenadas do ponto de transformação são definidas como um percentual das dimensões da caixa delimitadora (valores do elemento geom:Rectangle). Se o ponto de transformação for o canto superior esquerdo da caixa delimitadora, as coordenadas serão (0, 0). Se o ponto de transformação for o canto inferior direito da caixa delimitadora, as coordenadas serão (1, 1). Esses valores permitem que o ponto de transformação seja aplicado de maneira consistente a objetos com proporções e pontos de registro diferentes. O ponto de transformação pode situar-se fora da caixa delimitadora, caso em que as coordenadas podem ser menores do que 0 ou maiores do que 1. | |
Keyframe | Contém informações correspondentes a um quadro principal na linha do tempo. | ||
blank | Booleano | Indica se o Quadro principal está vazio. | |
index | Número | Um valor inteiro exclusivo para o quadro principal. O índice do primeiro quadro principal é sempre 0. Os quadros principais no XML devem ser especificados em ordem crescente do valor de índice. | |
rótulo | String | Uma String opcional que descreve o Quadro principal e corresponde a um rótulo do quadro na linha do tempo. | |
tweenSync | Booleano | Alterna a configuração de sincronização entre ativada ("true") e desativada ("false"). A sincronização calcula novamente o número de quadros em uma interpolação para corresponder ao número de quadros designados a ela na linha de tempo. Esse atributo não tem nenhum efeito na animação ActionScript, pois o ActionScript não pode controlar símbolos gráficos. O atributo XML só é usado pelos comandos Copiar Movimento e Colar Movimento do Adobe Flash Professional. Assume o padrão true se omitido no XML. | |
tweenSnap | Booleano | Alterna a configuração de Ajuste entre ativada ("true") e desativada ("false"). O ajuste anexa um símbolo ao demarcador de movimento pelo respectivo ponto de registro. Esse atributo não tem nenhum efeito na animação ActionScript, pois o ActionScript não pode controlar símbolos gráficos. O atributo XML só é usado pelos comandos Copiar Movimento e Colar Movimento do Adobe Flash Professional. Assume o padrão true se omitido no XML. | |
x | Número | A coordenada x do ponto central da ocorrência de símbolo no quadro principal atual. | |
y | Número | A coordenada y do ponto central da ocorrência de símbolo no quadro principal atual. | |
scaleX | Número | O percentual de escala horizontal como um valor decimal entre 0 e 1. O valor geralmente está entre 0 e 1, mas pode ser maior do que 1 ou menor do que 0. Por exemplo, você pode definir scaleX como -1 para virar o objeto ou 3 para aumentar 3 vezes seu tamanho original. | |
scaleY | Número | O percentual de escala vertical como um valor decimal entre 0 e 1. O valor geralmente está entre 0 e 1, mas pode ser maior do que 1 ou menor do que 0. Por exemplo, você pode definir scaleY como -1 para virar o objeto ou 3 para aumentar 3 vezes seu tamanho original. | |
skewX | Número | O ângulo (em graus) de distorção ao longo do eixo horizontal. Se os valores skewX e skewY forem iguais, eles serão substituídos pelo atributo rotation. | |
skewY | Número | O ângulo (em graus) de distorção ao longo do eixo vertical. Se os valores skewX e skewY forem iguais, eles serão substituídos pelo atributo rotation. | |
rotation | Número | Grau de rotação do quadro atual. | |
rotateDirection | String | Especifica como o elemento interpolado gira. Valores possíveis: "auto", "none", "cw" e "ccw". Assume o padrão "auto" se omitido no XML. | |
rotateTimes | Número | Especifica o número de vezes que o elemento interpolado gira entre o quadro-chave inicial e o próximo quadro-chave além da rotação normal. O Adobe Flash requer que o valor seja um número inteiro igual ou maior que 0, mas as classes de movimento permitem valores decimais. | |
tweenScale | Booleano | Se false, impede que a escala seja alterada durante uma interpolação. Assume o padrão true se omitido no XML. | |
cacheAsBitmap | Booleano | Assume o padrão false se omitido no XML. | |
blendMode | String | Possíveis valores são: "normal", "layer", "multiply", "screen", "overlay", "hardlight", "lighten", "darken", "difference", "add", "subtract", "invert", "alpha" e "erase". Assume o padrão "normal" se omitido no XML. | |
orientToPath | Booleano | Assume o padrão false se omitido no XML. | |
Cor | Contém configurações de variações de cor. As ocorrência do símbolo no Flash têm cinco modos de cor: none, alpha, tint, brightness e advanced. Para nenhuma transformação (none), a marca Color fica vazia, indicando a aparência normal. Para transformações alpha, defina os atributos alphaMultiplier e alphaOffset. Para transformações tint, defina os atributos tintColor e tintMultiplier.Para transformações brightness, use o atributo brightness.Para transformações advanced, use os atributos redMultiplier, greenMultiplier, blueMultiplier, alphaMultiplier, redOffset, greenOffset, blueOffset e alphaOffset. | ||
brightness | Número | O percentual para aplicar o canal de brilho entre -1 e 1, em que -1 é completamente preto e 1 é completamente branco. | |
tintColor | Hexadecimal | Um valor de cor hexadecimal representando a cor que deve ser aplicada. | |
alphaMultiplier | Número | O percentual que deve ser aplicado ao canal alfa, como um valor decimal entre 0 e 1. | |
redMultiplier | Número | O percentual que deve ser aplicado à cor, como um valor decimal entre 0 e 1. | |
greenMultiplier | Número | O percentual que deve ser aplicado à cor, como um valor decimal entre 0 e 1. | |
blueMultiplier | Número | O percentual que deve ser aplicado à cor, como um valor decimal entre 0 e 1. | |
alphaMultiplier | Número | Um valor decimal entre 0 e 1 representando o percentual que deve ser aplicado ao canal de transparência alfa. | |
tintMultiplier | Número | Um valor decimal entre 0 e 1 representando um percentual que deve ser aplicado com o valor tintColor. | |
redOffset | Número | Um número de -255 a 255 que será adicionado ao valor do canal vermelho após ter sido multiplicado pelo valor redMultiplier. | |
greenOffset | Número | Um número de -255 a 255 que será adicionado ao valor de canal de verde depois que ele tiver sido multiplicado pelo valor greenMultiplier. | |
blueOffset | Número | Um número de -255 a 255 que será adicionado ao valor do canal azul após ter sido multiplicado pelo valor blueMultiplier. | |
alphaOffset | Número | Um número entre -255 a 255 que é adicionado ao valor do canal alfa após ter sido multiplicado pelo valor alphaMultiplier. | |
tweens | Contém configurações de variações de atenuação. | ||
SimpleEase | Define a configuração de atenuação com um valor único em toda a interpolação de movimento para todas as propriedades de atenuação. | ||
liberar | Número | O valor de atenuação a ser aplicado a todas as propriedades da interpolação de movimento. O atributo de atenuação é um valor percentual entre -1 (100% de atenuação interna ou aceleração) e 1 (100% de atenuação externa ou desaceleração). O valor padrão é 0, o que significa que a interpolação é animada a uma velocidade constante, sem aceleração ou desaceleração. | |
target | Número | Ao usar os comandos Copiar Movimento e Colar Movimento do Adobe Flash , a ferramenta de criação gera um XML que não inclui um atributo target para o elemento SimpleEase porque o Flash Professional aplica o mesmo valor a todas as propriedades de atenuação. No entanto, as classes ActionScript 3.0 permitem aplicar valores SimpleEase diferentes a propriedades individuais ao mesmo tempo. Os valores possíveis para target são os mesmos de CustomEase: "position", "scale", "rotation", "color", "filters", "x", "y", "scaleX", "scaleY", "skewX", e "skewY". | |
CustomEase | Define uma curva de atenuação personalizada composta de curvas Bezier cúbicas. Você pode aplicá-lo a todas as propriedades ao mesmo tempo ou definir curvas diferentes para propriedades diferentes. Para obter mais informações sobre as curvas que representam propriedades da atenuação personalizada, consulte a classe CustomEase . | ||
target | Número | Propriedade à qual um valor personalizado é atribuído. Ao usar os comandos Copiar Movimento e Colar Movimento do Adobe Flash Professional, a ferramenta de criação gera estes valores possíveis para o destino: "position", "scale", "rotation", "color", "filters". As classes motion do ActionScript 3.0 permitem até mesmo uma maior flexibilidade; você pode definir curvas individuais para: "x", "y", "scaleX", "scaleY", "skewX", e "skewY". Se o atributo "target" for omitido no XML, todas as propriedades de atenuação serão direcionadas juntamente. Observação: O XML omite o primeiro e o último pontos da curva de atenuação personalizada. O primeiro ponto deve ser sempre (0,0) (o valor inicial da propriedade de interpolação) e o último ponto deve ser (1,1) (valor final da propriedade de interpolação). Para manter o código eficiente e evitar possíveis erros, esses valores são omitidos no XML e assumidos como implícitos. | |
BezierControl | Ponto relativo a uma curva que é usado para defini-la. | ||
x | Número | A coordenada x do ponto para definir uma curva. | |
y | Número | A coordenada y do ponto para definir uma curva. | |
BezierNode | Ponto em uma curva que é usado para defini-la. | ||
x | Número | A coordenada x do ponto em uma curva. | |
y | Número | A coordenada y do ponto em uma curva. | |
filters | Define um objeto do pacote flash.filters para ser usado como um elemento (por exemplo: filters:GlowFilter). Você pode adicionar atributos que correspondam às propriedades do objeto flash.filters especificado. Por exemplo: <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 o pacote flash.filters . |
O exemplo seguinte mostra o ActionScript com XML incorporado, descrevendo a interpolação de movimento de uma ocorrência moveShape do clipe de filme do símbolo myShape conforme ele gira, se move, usa uma configuração de atenuação personalizada e altera valores alfa acima de dez quadros:
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();
Wed Jun 13 2018, 11:28 AM Z