Package | spark.effects.animation |
Classe | public class MotionPath |
Héritage | MotionPath Object |
Sous-classes | SimpleMotionPath |
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
The <s:MotionPath>
tag
inherits the tag attributes of its superclass,
and adds the following tag attributes:
<s:MotionPath id="ID" interpolator="NumberInterpolator" keyframes="val" property="val" />
Propriété MXML par défautkeyframes
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
interpolator : IInterpolator
L’interpolateur détermine comment sont calculées les valeurs intermédiaires d’une animation. | MotionPath | ||
keyframes : Vector.<Keyframe>
Séquence d’objets KeyFrame représentant les paires position temporelle/valeur que la propriété utilise pendant l’animation. | MotionPath | ||
property : String
Nom de la propriété à animer sur l’effet cible. | MotionPath |
Méthode | Défini par | ||
---|---|---|---|
MotionPath(property:String = null)
Constructeur. | MotionPath | ||
Renvoie une copie de cet objet MotionPath, y compris les copies de chaque image-clé. | MotionPath | ||
Calcule et renvoie une valeur interpolée, en fonction de la fraction de durée écoulée. | MotionPath | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
interpolator | propriété |
public var interpolator:IInterpolator
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
L’interpolateur détermine comment sont calculées les valeurs intermédiaires d’une animation. Par défaut, la classe MotionPath suppose que les valeurs sont de type Number et peut calculer automatiquement les valeurs Number intermédiaires. Si des images-clés contenant des valeurs autres que des valeurs Number sont fournies à la classe MotionPath ou si le comportement souhaité doit utiliser une autre approche d’interpolation (interpolation de couleurs par canal, par exemple), il est nécessaire de fournir un interpolateur.
Flex fournit des interpolateurs prédéfinis dans le package spark.effects.interpolation.
keyframes | propriété |
public var keyframes:Vector.<Keyframe>
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Séquence d’objets KeyFrame représentant les paires position temporelle/valeur que la propriété utilise pendant l’animation. Chaque paire successive d’images-clés contrôle l’animation pendant le laps de temps qui les sépare. Les propriétés facultatives easer
et valueBy
de l’image-clé la plus récente sont utilisées pour déterminer le comportement pendant cet intervalle. La séquence d’images-clés doit être triée par ordre croissant des valeurs temporelles.
Les animations commencent toujours à la position time=0 et leur durée correspond à la valeur de la propriété time
de la dernière image-clé. Si aucune image-clé n’est définie à la position time=0, cette image-clé est implicite et la valeur de la propriété cible au moment où l’animation commence est alors utilisée.
Les images-clés définissant explicitement les positions temporelles impliquées dans une animation, la durée d’un effet utilisant des images-clés dépend de la position temporelle maximale de l’image-clé finale de tous les objets MotionPath de l’effet. Par exemple, si un effet compose des images-clés aux positions temporelles 0, 500, 1000 et 2000, la durée réelle de cet effet est de 2000 ms, même si la propriété duration
est définie pour l’effet lui-même. Comme l’image-clé finale détermine la durée, un objet MotionPath doit toujours comporter une image-clé finale. Implicitement, la position temporelle de l’image-clé finale correspond à la durée de l’objet MotionPath.
La valeur value
d’une image-clé peut ne pas être définie (soit parce qu’aucune valeur n’est précisée, soit parce que la valeur est null
ou NaN
). Dans ce cas, la valeur est déterminée dynamiquement au démarrage de l’animation. Une valeur non définie est déterminée comme suit :
- S’il s’agit de la première image-clé, elle est calculée à partir de l’image-clé suivante si les propriétés
value
etvalueBy
de cette dernière sont toutes deux définies. La valeur calculée correspond alors à la différence entre ces valeurs. Dans tous les autres cas, la valeur correspond à la valeur actuelle de la propriété obtenue auprès de la cible. - S’il s’agit de l’image-clé finale et que l’animation fait partie d’une transition, la valeur de l’état d’affichage de destination de la transition est utilisée.
- Dans tous les autres cas, la valeur
value
d’une image-clé est calculée en ajoutant la valeurvalue
de l’image-clé précédente à la valeurvalueBy
de l’image-clé actuelle, si cette propriétévalueBy
est définie.
Eléments de l’API associés
property | propriété |
public var property:String
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Nom de la propriété à animer sur l’effet cible.
MotionPath | () | Constructeur |
clone | () | méthode |
public function clone():MotionPath
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Renvoie une copie de cet objet MotionPath, y compris les copies de chaque image-clé.
Valeur renvoyéeMotionPath — Copie de cet objet MotionPath, y compris les copies de chaque image-clé.
|
getValue | () | méthode |
public function getValue(fraction:Number):Object
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Calcule et renvoie une valeur interpolée, en fonction de la fraction de durée écoulée. La fonction détermine l’intervalle d’images-clés correspondant à la fraction et réalise dans cet intervalle une interpolation entre les valeurs des images-clés délimitant l’intervalle.
Paramètres
fraction:Number — Fraction de la durée totale de l’effet (valeur comprise entre 0.0 et 1.0).
|
Object — Valeur interpolée.
|
<?xml version="1.0"?> <!-- Simple example to demonstrate the s:Keyframe and s:MotionPath classes. --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"> <fx:Declarations> <fx:Vector id="kf" type="spark.effects.animation.MotionPath"> <s:MotionPath property="scaleX"> <s:Keyframe time="250" value="0.5"/> <s:Keyframe time="500" value="1.0"/> <s:Keyframe time="750" value="0.5"/> <s:Keyframe time="1000" value="1.0"/> <s:Keyframe time="1250" value="0.5"/> <s:Keyframe time="1500" value="1.0"/> </s:MotionPath> <s:MotionPath property="scaleY"> <s:Keyframe time="250" value="0.5"/> <s:Keyframe time="500" value="1.0"/> <s:Keyframe time="750" value="0.5"/> <s:Keyframe time="1000" value="1.0"/> <s:Keyframe time="1250" value="0.5"/> <s:Keyframe time="1500" value="1.0"/> </s:MotionPath> </fx:Vector> <s:Animate id="shrinkEffect" motionPaths="{kf}" target="{myImage}"/> </fx:Declarations> <s:Panel id="examplePanel" title="Keyframe and MotionPath Effect Example" width="75%" height="75%"> <s:layout> <s:VerticalLayout paddingTop="10" paddingLeft="10"/> </s:layout> <!-- Directions --> <s:VGroup id="detailsBox" width="50%" left="0"> <s:Label width="99%" color="blue" text="Click the Adobe logo to watch the effect."/> </s:VGroup> <mx:Image id="myImage" source="@Embed(source='assets/logo.jpg')" click="shrinkEffect.end();shrinkEffect.play();"/> </s:Panel> </s:Application>
Tue Jun 12 2018, 09:30 AM Z