Kommunauty
Connexion
Inscription

Les bases de Flash : Timer et cadences dynamiques

le 13 juillet 2011 • Flash • par Dawlin

Vous avez déjà dû remarquer que la cadence dans flash est modulable : vous pouvez définir un certain nombre d'images par secondes (ips ou fps) qui caractérise la "vitesse" de défilement des images.

On sait déjà que dans le code ActionScript, cette cadence s'applique aussi avec la boucle onEnterFrame()

Voilà une petite astuce pour pouvoir moduler cette cadence dynamiquement et ainsi permettre à flash d'effectuer deux vitesses en même temps !

Alors. On sait déjà incrémenter des variables. On sait le faire en fonction du temps... qu'est-ce qu'on attend ?

voici un code tout simple :


/*
 définir un nombre d'images (ici 42 toutes les 42 images).
Si ma cadence de mon fichier .fla est 24 ips, alors on aura un top toutes les 42/24 secondes, soient 1,75s
*/
tmax = 42;
// On initialise un timer :
t = 0;
//Puis on crée la boucle onEnterFrame :
this.onEnterFrame = function(){
// On incrémente t
t++;

//Puis on vérifie si il est égal à la valeur max :
if(t>=tmax){
// Si oui, ça signifie que 42 images, soient 1,75s se sont écoulées, donc on execute ce qu'on voulait faire 1,75s :
trace("plop");
// Pui on remet t à 0 pour que ça recommence :
t = 0;
}
}

Et voilà, c'est tout bête comme astuce, mais ça peut nous permettre de lire par exemple deux animations en même temps. Imaginez si je laisse défiler une animation à 24fps normalement, et qu'une autre à côté est régie par ce système :

Au lieu de mettre trace("plop") lors du top dynamique, je mets monAnimation.nextFrame();

ça permettrait de faire avancer la deuxième animation à une cadence 42* inférieure à celle de l'animation !

Voilà, merci d'avoir suivi ce tutoriel,

Dawlin

  
Aucun commentaire

Sois le premier à débuter une discussion à propos de cet article !



Ajoute un commentaire !

Ajouter une image... Trouvée sur internet » De mon PC »
Adresse URL :
Adresse de la page de la vidéo :
Taille du texte :
Couleur du texte :

Article lu 2670 fois.