Vous pouvez décrire une interpolation de mouvement à l’aide de code XML et des classes ActionScript dans le package fl.motion. Adobe Flash Professional dispose d’une commande « Copier le mouvement au format ActionScript », qui génère du code XML et ActionScript basé sur une interpolation de mouvement du scénario et que vous pouvez utiliser dans d’autres symboles ou d’autres projets. Vous pouvez également adapter votre propre interpolation de mouvement. Tant que vous avez les classes fl.motion dans votre chemin de classe au moment de compiler, l’interpolation de mouvement sera appliquée à votre objet d’affichage spécifié. Pour plus d’informations sur les classes de mouvement, voir le package fl.motion. Les éléments du XML de support correspondent aux classes et propriétés dans le Guide de référence du langage ActionScript 3.0.
© 2015 Adobe Systems Incorporated. All rights reserved.
Tue Jun 12 2018, 09:49 AM Z
La hiérarchie des éléments XML est la suivante :
<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>
Le tableau suivant dresse la liste des éléments et des attributs XML qui peuvent être affectés à un objet de mouvement. Pour plus d’informations sur chaque entrée, voir les propriétés énumérées dans les classes correspondantes :
Elément | Attribut | Type | Description |
---|---|---|---|
Motion | Définit l’occurrence de Motion afin que Flash puisse affecter les propriétés qui caractérisent l’interpolation de mouvement. Voir la classe fl.motion.Motion. | ||
duration | Number | Nombres d’images de l’interpolation de mouvement sélectionnée. Voir la propriété fl.motion.MotionBase.duration. | |
source | Contient les propriétés de l’objet visuel original associé au mouvement. Voir la classe fl.motion.Source. | ||
Source | frameRate | Number | Le paramètre ips (Images par seconde) du fichier SWF contient l’animation d’origine, copiée à partir de Flash Professional. Cette valeur n’a aucun effet sur l’implémentation d’ActionScript dans un autre fichier SWF. Voir la propriété fl.motion.Source.frameRate. |
x | Number | Coordonnée X du point de transformation de l’occurrence de symbole située au début de l’interpolation de mouvement d’origine, copiée à partir de Flash Professional. | |
y | Number | Coordonnée Y du point de transformation de l’occurrence de symbole située au début de l’interpolation de mouvement d’origine, copiée à partir de Flash Professional. | |
scaleX | Number | Pourcentage de l’échelle horizontale, sous forme de valeur décimale. La valeur est souvent comprise entre 0 et 1, mais peut être supérieure à 1 ou inférieure à 0. Par exemple, vous pouvez définir scaleX sur -1 pour retourner l’objet, ou sur 3 pour obtenir un objet trois fois plus grand. | |
skewX | Number | L’angle de coupe (en degrés) le long de l’axe horizontal. Si les valeurs skewX et skewY sont égales, elles sont remplacées par l’attribut rotation. | |
skewY | Number | L’angle de coupe (en degrés) le long de l’axe vertical. Si les valeurs skewX et skewY sont égales, elles sont remplacées par l’attribut rotation. | |
rotation | Number | Degré de rotation de l’image initiale. | |
elementType | String | Type d’objet visuel utilisé dans l’interpolation de mouvement. Les valeurs possibles sont : "movie clip", "button", "graphic", "rectangle object", "oval object", "drawing object", "group", "bitmap", "compiled clip", "video" ou "text". | |
symbolName | String | Nom du symbole dans la bibliothèque du document Adobe Flash Professional, s’il s’y trouve (car l’objet visuel d’origine n’est pas forcément une occurrence de symbole). | |
dimensions | Contient des balises qui utilisent l’espace de noms geom pour décrire le cadre de sélection et le point de transformation pour le symbole appliqué. | ||
geom:Rectangle | Objet du package flash.geom | Vous pouvez ajouter des attributs correspondant aux propriétés de l’objet flash.geom.Rectangle. Par exemple : <geom:Rectangle left="7" top="9" width="151.95" height="151.95" />Les valeurs top et left se rapportent au point d’alignement de l’objet parent (top et left sont définies dans l’espace de coordonnées de l’objet parent). | |
geom:Point | Objet du package flash.geom | Les coordonnées du point de transformation sont définies sous forme d’un pourcentage des dimensions du cadre de sélection (valeurs de l’élément geom:Rectangle). Si le point de transformation est le coin supérieur gauche du cadre de sélection, les coordonnées sont (0, 0). Si le point de transformation est le coin inférieur droit du cadre de sélection, les coordonnées sont (1, 1). Ces valeurs permettent d’appliquer le point de transformation de manière pertinente à des objets ayant des proportions et des points d’enregistrement différents. Le point de transformation peut se trouver hors du cadre de sélection. Dans ce cas, les coordonnées peuvent être inférieures à 0 ou supérieures à 1. | |
Keyframe | Contient les informations correspondant à une image-clé du scénario. | ||
blank | Boolean | Indique que l’image-clé est vide. | |
index | Number | Une valeur à nombre entier unique pour l’image-clé. La valeur du premier index de l’image-clé est toujours 0. Dans le code XML, les images-clés doivent être indiquées en ordre ascendant par rapport à la valeur d’index. | |
label | String | Chaîne facultative qui décrit l’image-clé et correspond à une étiquette d’image du scénario. | |
tweenSync | Boolean | Active ("true") et désactive ("false") en alternance le paramètre de synchronisation. La synchronisation recalcule le nombre d’images d’une animation pour correspondre au nombre d’images qui lui sont allouées dans le scénario. Cet attribut n’a aucun effet sur l’animation ActionScript, puisque ActionScript ne peut pas contrôler les symboles graphiques. L’attribut XML est utilisé uniquement par les commandes Copier le mouvement et Coller le mouvement d’Adobe Flash Professional. La valeur par défaut est true si XML l’omet. | |
tweenSnap | Boolean | Active ("true") et désactive ("false") en alternance le paramètre d’accrochage. L’accrochage attache un symbole au chemin du mouvement par son point d’enregistrement. Cet attribut n’a aucun effet sur l’animation ActionScript, puisque ActionScript ne peut pas contrôler les symboles graphiques. L’attribut XML est utilisé uniquement par les commandes Copier le mouvement et Coller le mouvement d’Adobe Flash Professional. La valeur par défaut est true si XML l’omet. | |
x | Number | Coordonnée x du point central de l’occurrence de symbole sur l’image-clé ouverte. | |
y | Number | Coordonnée y du point central de l’occurrence de symbole sur l’image-clé ouverte. | |
scaleX | Number | Pourcentage de l’échelle horizontale sous forme de valeur décimale comprise entre 0 et 1. La valeur est souvent comprise entre 0 et 1, mais peut être supérieure à 1 ou inférieure à 0. Vous pouvez, par exemple, définir scaleX sur -1 pour retourner l’objet, ou sur 3 pour multiplier la taille originale par 3. | |
scaleY | Number | Pourcentage de l’échelle verticale sous forme de valeur décimale comprise entre 0 et 1. La valeur est souvent comprise entre 0 et 1, mais peut être supérieure à 1 ou inférieure à 0. Vous pouvez, par exemple, définir scaleY sur -1 pour retourner l’objet, ou sur 3 pour multiplier la taille originale par 3. | |
skewX | Number | L’angle de coupe (en degrés) le long de l’axe horizontal. Si les valeurs skewX et skewY sont égales, elles sont remplacées par l’attribut rotation. | |
skewY | Number | L’angle de coupe (en degrés) le long de l’axe vertical. Si les valeurs skewX et skewY sont égales, elles sont remplacées par l’attribut rotation. | |
rotation | Number | Degré de rotation de l’image actuelle. | |
rotateDirection | String | Spécifie la manière dont pivote l’élément interpolé. Les valeurs disponibles sont "auto", "none", "cw", "ccw". La valeur par défaut est "auto" si XML l’omet. | |
rotateTimes | Number | Spécifie le nombre de rotations de l’élément interpolé entre l’image-clé de début et l’image-clé suivante outre sa rotation normale. Dans Adobe Flash Professional, cette valeur doit être un entier égal ou supérieur à 0. Les classes de mouvement autorisent cependant les valeurs décimales. | |
tweenScale | Boolean | Si false, empêche l’échelle de changer pendant une interpolation. La valeur par défaut est true si XML l’omet. | |
cacheAsBitmap | Boolean | La valeur par défaut est false si XML l’omet. | |
blendMode | String | Les valeurs disponibles sont "normal", "layer", "multiply", "screen", "overlay", "hardlight", "lighten", "darken", "difference", "add", "subtract", "invert", "alpha" et "erase". La valeur par défaut est "normal" si XML l’omet. | |
orientToPath | Boolean | La valeur par défaut est false si XML l’omet. | |
Color | Contient les paramètres pour les variations de couleur. Les occurrences de symbole de Flash disposent de cinq modes de couleur : aucun, alpha, teinte, luminosité et avancé. Si aucune transformation n’a lieu (aucun), la balise Color est vide, ce qui indique un aspect normal. Pour les transformations alpha, définissez les attributs alphaMultiplier et alphaOffset. Pour les transformations de teinte, définissez les attributs tintColor et tintMultiplier.Pour les transformations de luminosité, utilisez l’attribut brightness.Pour les transformations avancées, utilisez les attributs redMultiplier, greenMultiplier, blueMultiplier, alphaMultiplier, redOffset, greenOffset, blueOffset et alphaOffset. | ||
brightness | Number | Pourcentage à appliquer au canal de luminosité entre -1 et 1, où -1 est complètement noir et 1 est complètement blanc. | |
tintColor | Hexidecimal | Valeur de couleur hexadécimale qui représente la couleur à appliquer. | |
alphaMultiplier | Number | Pourcentage à appliquer au canal alpha, sous forme de valeur décimale comprise entre 0 et 1. | |
redMultiplier | Number | Pourcentage à appliquer à la couleur, sous forme de valeur décimale comprise entre 0 et 1. | |
greenMultiplier | Number | Pourcentage à appliquer à la couleur, sous forme de valeur décimale comprise entre 0 et 1. | |
blueMultiplier | Number | Pourcentage à appliquer à la couleur, sous forme de valeur décimale comprise entre 0 et 1. | |
alphaMultiplier | Number | Valeur décimale entre 0 et 1 qui représente un pourcentage à appliquer au canal de transparence alpha. | |
tintMultiplier | Number | Valeur décimale entre 0 et 1 qui représente un pourcentage à appliquer avec la valeur couleur de teinte. | |
redOffset | Number | Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de rouge après sa multiplication par la valeur redMultiplier. | |
greenOffset | Number | Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de vert après sa multiplication par la valeur greenMultiplier. | |
blueOffset | Number | Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal de bleu après sa multiplication par la valeur blueMultiplier. | |
alphaOffset | Number | Nombre, compris entre -255 et 255, qui est ajouté à la valeur du canal alpha après sa multiplication par la valeur alphaMultiplier. | |
tweens | Contient les paramètres pour faciliter les variations. | ||
SimpleEase | Définit le paramètre d’introduction avec une valeur unique dans tout le moteur d’animations pour toutes les propriétés d’accélération. | ||
ease | Number | Valeur d’accélération à appliquer à toutes les propriétés de l’interpolation de mouvement. L’attribut d’accélération est une valeur de pourcentage comprise entre -1 (100% d’entrée ou d’accélération) et 1 (100% de sortie ou de décélération). La valeur par défaut est 0, ce qui signifie que l’animation anime à vitesse constante, sans accélération ou décélération. | |
target | Number | Lorsqu’il utilise les commandes Copier le mouvement et Coller le mouvement d’Adobe Flash Professional, l’outil de création génère du code XML qui n’inclut pas d’attribut target pour l’élément SimpleEase, car Flash Professional applique la même valeur à toutes les propriétés d’accélération. Cependant, les classes ActionScript 3.0 permettent d’appliquer diverses valeurs SimpleEase simultanément à des propriétés individuelles. Les valeurs possibles pour target sont les mêmes que pour CustomEase : "position", "scale", "rotation", "color", "filters", "x", "y", "scaleX", "scaleY", "skewX" et "skewY". | |
CustomEase | Définit une courbe d’introduction personnalisée composée de courbes de Bézier cubiques. Elle peut être appliquée à toutes les propriétés simultanément ou vous pouvez définir différentes courbes pour différentes propriétés. Pour plus d’informations sur les courbes qui représentent les propriétés d’accélération personnalisées, voir la classe CustomEase. | ||
target | Number | La propriété qui se voit affecter une valeur personnalisée. Lors de l’utilisation des commandes Copier le mouvement et Coller le mouvement d’Adobe Flash Professional, l’outil de création génère les valeurs possibles suivantes pour target : "position", "scale", "rotation", "color", "filters". Les classes de mouvement d’ActionScript 3.0 offrent même davantage de flexibilité. En effet, vous pouvez définir des courbes individuelles pour : "x", "y", "scaleX", "scaleY", "skewX" et "skewY". Si l’attribut target est omis dans le code XML, toutes les propriétés d’accélération sont ciblées ensemble. Remarque : le code XML omet le premier et le dernier point dans la courbe d’accélération personnalisée. Le premier point doit toujours être (0, 0) (la valeur de départ de la propriété interpolée) et le dernier point doit être (1, 1) (la valeur finale de la propriété interpolée). Pour que le code soit toujours efficace et pour éviter d’éventuelles erreurs, ces valeurs sont omises à partir du XML et supposées implicites. | |
BezierControl | Point relatif à une courbe permettant de la définir. | ||
x | Number | Coordonnée x du point de définition d’une courbe. | |
y | Number | Coordonnée y du point de définition d’une courbe. | |
BezierNode | Point sur une courbe permettant de la définir. | ||
x | Number | Coordonnée x du point sur une courbe. | |
y | Number | Coordonnée y du point sur une courbe. | |
filters | Définit un objet du package flash.filters à utiliser comme élément (par exemple : filters:GlowFilter). Vous pouvez ajouter des attributs correspondant aux propriétés de l’objet flash.filters spécifié. Par exemple : <filters:DropShadowFilter quality="1" inner="false" knockout="false" hideObject="false" distance="0" angle="45" color="0x000000" alpha="1" blurX="0" blurY="0" strength="0" />. Voir le package flash.filters. |
L’exemple suivant présente le code ActionScript avec XML intégré décrivant l’interpolation de mouvement d’une occurrence de clip moveShape pour le symbole myShape, lorsqu’il effectue une rotation, se déplace, utilise un paramètre d’accélération personnalisé et modifie les valeurs alpha sur dix images :
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, 09:49 AM Z