Action sur clip : Tween ou onEnterFrame

Résolu
christ_l Messages postés 6 Date d'inscription vendredi 26 décembre 2003 Statut Membre Dernière intervention 9 août 2011 - 30 juil. 2008 à 15:12
dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011 - 30 juil. 2008 à 16:09
Bonjour,
alors voilà je débute avec l'animation dynamique dans flash (cs3).
Et j'aurais voulu savoir si en règle générale il est plutôt mieux (pour la fluidité et lisibilité du swf sur le net) d'utiliser soit des tween soit des onEnterFrame pour mon cas :
J'ai une anim principal (load+intro) avec tous mes éléments (clip et boutons) qui arrivent sur ma page(home) avec des effets Tween (Bounce ou Strong) ensuite plus loin j'ai ces mêmes boutons qui font apparaitre d'autres clips en RollOver ou j'ai fait ceci :

btn_A.onRollOver = function() {
    //Création d'un clip vide
    createEmptyMovieClip("clip1",1);
    clip1._x = 120;
    clip1._y = 180;
    //Chargement du MC "sacrif_btetxte" actuellement en librairie
    clip1.attachMovie("sacrif_bte","sacrif_bte",1);
    clip1._xscale = 0;
    //boucle qui se repete indefiniment
    clip1.onEnterFrame = function() {
        //si la taille est - de 100 on + 25
        if (clip1._xscale<100) {
            clip1._xscale += 25;
        }
    };
};

Et je me demandais s'il n'était pas mieux de faire arriver ce clip aussi avec une Tween en faisant quelques chose qui ressemblerais à ceci:
var MaTween1 = new Tween(sacrif_bte, "_yscale", Strong.easeInOut, 0, 100, 1, true);
var MaTween2 = new Tween(sacrif_bte, "_xscale", Strong.easeInOut, 0, 100, 1, true);
sacrif_bte._alpha=0;
btn_A.onRollOver = function() {
  sacrif_bte._alpha=100;

  MaTween1.start();
  MaTween2.start();

};

Un grand merci d'avance pour la réponse...
PS: ma question est donc de savoir quel est la meilleur méthode (s'il y en a une, et non comment, car j'arrive a faire fonctionner les 2 solutions comme je le souhaite) ; mais je me demande vraiment au niveau de la souplesse/lisibilité  du code ce qui serait le mieux afin d'avoir un site web le mieux optimisé possible (malgré mon niveau moyen en flash).
Christelle.

1 réponse

dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
30 juil. 2008 à 16:09
Salut Christelle

Personnellement, je dirais qu'il n'y a pas de meilleure solution dans un sens absolu, mais plutôt qu'une méthode est adaptée à un contexte particulier.

En outre dans ton cas, où cela consiste à une interpolation classique, je pense que l'utilisation de la classe Tween est très bien. Pour te donner un argument, la boucle onEnterFrame aurait été plus judicieuse par exemple si tu devais tester en temps réel des valeurs de coordonnées pour d'éventuelles collisions avec d'autres moviclips...

Et pour précision, si tu ne le savais pas déjà, le code dans onEnterFrame est exectué à chaque rafraichissement de la timeline (et dans sublit le lagg lorsqu'il y a beaucoup d'élements sur la scène animés), et Tween est basé sur le temps (un interval de temps tous les x millisecondes, et donc au final indépendant de le timeline)....
3
Rejoignez-nous