IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

novice: rotation d'un movie clip


Sujet :

Flash

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 7
    Points : 6
    Points
    6
    Par défaut novice: rotation d'un movie clip
    Bonjour

    j'essaie de faire tourner un movie_clip (notation) à l'aide de boutons (ex: le btn A_btn pour faire tourner de 0°, le btn Bb_btn pour 30°, le btn B_btn pour 60°...) => si j'utilise tout simplement la fonction onPress, c'est ok:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    A_btn.onPress=function(){
    	notation._rotation=-0;
    }
    Bb_btn.onPress=function(){
    	notation._rotation=-30;
    }
    B_btn.onPress=function(){
    	notation._rotation=-60;
    }
    maintenant je souhaiterai que cette rotation ne soit pas directe, mais qu'une transition ait lieu entre 2 positions...

    voilà à quoi ressemble mon code (j'introduis une vitesse, une position initiale et finale), mais ça ne fonctionne pas :-(

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    rotation=function(final_rotation:Number){
    	var speed:Number=10;
    	if(notation._rotation<final_rotation){
    		notation._rotation+=speed;
    	} else if (notation._rotation>final_rotation){
    		notation._rotation-=final_rotation;
    	}
    }
    btn=function(){
    	A_btn.onPress=rotation(0);
    	Bb_btn.onPress=rotation(-30);
    	B_btn.onPress=rotation(-60);
    }
    btn();
    une idée pleaz ? merci !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 40
    Points : 48
    Points
    48
    Par défaut
    salut
    peut-être avec setInterval
    mais je ne suis pas sûr qu'il n'y a pas plus simple

  3. #3
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313
    Par défaut
    salut
    Pour ma part j'utiliserai la classe Tween et j'écrirais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import mx.transitions.Tween;
    import mx.transitions.easing.*;
    tourne = function (notation_rotat, finale_rotat, vitesse) {
    	var etoile_tween:Object = new Tween(etoile, "_rotation", Strong.easeIn, notation_rotat, finale_rotat, vitesse, true);
    };
    A_btn.onPress = function() {
    	tourne(etoile._rotation, 0, 1);
    };
    B_btn.onPress = function() {
    	tourne(etoile._rotation, -30, 1);
    };
    C_btn.onPress = function() {
    	tourne(etoile._rotation, -60, 1);
    };
    ainsi tu pourras gérer facilement le degré de rotation, la vitesse et l'effet.
    Dans mon exemple, j'ai mis un Strong.easeIn pour l'accelération mais libre à toi de le remplacer par un autre.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 40
    Points : 48
    Points
    48
    Par défaut
    merci jean-Philippe

    j'ai appris quelque chose de très utile, et en plus, ça fonctionne aussi avec flash mx 2004
    en revanche je n'arrive pas à localiser dans l'aide (de mx 2004) toutes ces merveilleuses classes. Chercher "Tween" => entrée introuvable. Sais-tu comment on trouve tout ça ?

  5. #5
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313
    Par défaut
    désolé j'ai que Flash 8 pro
    mais voici ce que dit la doc de F8 :
    Référence du langage des composants


    Classe Tween




    Classe Tween

    Héritage (classe Root)

    Nom de classe ActionScript mx.transitions.Tween

    La classe Tween vous permet en toute simplicité de déplacer, de redimensionner et de réaliser un fondu de clips sur la scène grâce à ActionScript, en définissant une propriété du clip cible afin qu'il soit animé par interpolation sur un nombre d'images ou de secondes. Cette classe vous permet également de spécifier de nombreuses méthodes d'accélération. L'accélération fait référence à l'accélération ou à la décélération progressive pendant une animation, ce qui lui donne un aspect plus réaliste. Par exemple, les options d'un composant de liste déroulante que vous créez peuvent augmenter progressivement leur vitesse au début d'une animation lorsqu'elles apparaissent, mais ralentir avant de s'arrêter complètement à la fin de l'animation lorsque la liste est étendue. Flash fournit de nombreuses méthodes qui contiennent des équations correspondant à cette accélération et à cette décélération, qui modifient l'animation d'accélération en conséquence.

    La classe Tween appelle également des gestionnaires d'événements pour que votre code puisse répondre lorsqu'une animation démarre, s'arrête, reprend ou s'incrémente de la valeur de sa propriété interpolée. Par exemple, vous pouvez démarrer une seconde animation interpolée lorsque la première appelle le gestionnaire d'événements Tween.onMotionStopped, ce qui indique que la première interpolation est arrêtée.

    Récapitulatif des méthodes de la classe Tween

    Le tableau suivant répertorie les méthodes de la classe Tween.

    Méthode
    Description
    Tween.yoyo()
    Indique à l'animation interpolée de continuer de sa valeur actuelle à une nouvelle valeur.
    Tween.fforward()
    Transmet l'animation interpolée directement à la fin de l'animation.
    Tween.nextFrame()
    Transmet l'animation interpolée à l'image suivante.
    Tween.prevFrame()
    Dirige l'animation interpolée à l'image précédant l'image actuelle.
    Tween.resume()
    Reprend une animation interpolée de son point d'arrêt dans l'animation.
    Tween.rewind()
    Rembobine une animation interpolée à son début.
    Tween.start()
    Démarre l'animation interpolée du début.
    Tween.stop()
    Arrête l'animation interpolée sur sa position actuelle.
    Tween.toString()
    Renvoie le nom de classe, « [Tween] ».
    Tween.yoyo()
    Indique à l'animation interpolée d'effectuer la lecture à l'envers en partant de la dernière direction des incréments de propriété interpolés.
    Récapitulatif des propriétés de la classe Tween

    Le tableau suivant présente les propriétés de la classe Tween.

    Propriété
    Description
    Tween.duration
    La durée de l'animation interpolée en images ou en secondes. Lecture seule.
    Tween.finish
    La dernière valeur interpolée pour la fin de l'animation interpolée. Lecture seule.
    Tween.FPS
    Le nombre d'images par seconde de l'animation interpolée. Lecture seule.
    Tween.position
    La valeur actuelle de la propriété du clip cible en cours d'interpolation. Lecture seule.
    Tween.time
    L'heure actuelle dans la durée de l'animation. Lecture seule.
    Récapitulatif des gestionnaires d'événements de la classe Tween

    Le tableau suivant répertorie les gestionnaires d'événements de la classe Tween.

    Evénement
    Description
    Tween.onMotionChanged
    Gestionnaire d'événements : appelé lors de chaque changement d'une propriété de l'objet interpolé animé.
    Tween.onMotionFinished
    Gestionnaire d'événements : appelé lorsque l'objet Tween termine son animation.
    Tween.onMotionResumed
    Gestionnaire d'événements : invoqué lors de l'appel à la méthode Tween.resume(), provoquant ainsi la reprise de l'animation interpolée.
    Tween.onMotionStarted
    Gestionnaire d'événements : invoqué lors de l'appel à la méthode Tween.start(), provoquant ainsi le début de l'animation interpolée.
    Tween.onMotionStopped
    Gestionnaire d'événements : invoqué lors de l'appel à la méthode Tween.stop(), provoquant ainsi l'arrêt de l'animation interpolée.

Discussions similaires

  1. rotation d'un movie clip à partir du centre ?
    Par helene34 dans le forum Flash
    Réponses: 7
    Dernier message: 06/11/2006, 18h08
  2. [FLASH MX] Scrollbar associée à un movie-clip
    Par dens63 dans le forum Flash
    Réponses: 19
    Dernier message: 05/06/2006, 11h41
  3. [FLASH MX2004] image jpg dans un movie clip
    Par mooky dans le forum Flash
    Réponses: 13
    Dernier message: 07/03/2006, 20h44
  4. [ActionScript] héritage d'un movie clip
    Par wwave dans le forum Flash
    Réponses: 1
    Dernier message: 18/01/2006, 09h44
  5. Réponses: 8
    Dernier message: 06/11/2005, 20h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo