Liste des Classes :
Tween, \Program Files\Macromedia\Flash 8\fr\First Run\Classes\mx\transitions\Tween.as
Regular, \Program Files\Macromedia\Flash 8\fr\First Run\Classes\mx\transitions\easing\Regular.as
Liste des Gestionnaires :
onMotionChanged, se déclenche tout au long de l'interpolation
onMotionFisinished, se déclenche à la fin de l'interpolation
Dans la même catégorie :
Vous pouvez consulter le tutoriel N°2 : La classe Tween
// PARAM
Stage.scaleMode = "noScale";
Stage.align = "TL"
_focusrect = false;
// IMPORT
import mx.transitions.Tween;
import mx.transitions.easing.Regular;
// INIT
var score = 0; // la variable sur que l'on va 'tweener'
var num = 0;
var inc = 1000;
// MAIN
score_txt.text = score;
// UI
plus_btn.onRelease = addScore;
moins_btn.onRelease = subScore;
zero_btn.onRelease = resetScore;
// OUTILS
function addScore() {
// constructeur de la classe Tween : function Tween (obj, prop, func, begin, finish, duration, useSeconds)
var mov:Tween = new Tween(_root, // cible la scene
"score", // et plus particulierement la variable score qui est une variable globale
Regular.easeIn, // le type de fonction d'acceleration, ici Regular
num*inc, // calcul de la valeur actuelle du compteur
(num+1)*inc, // calcul de la valeur suivante
.7, // passe de la valeur actuelle a la prochaine en 0.7 ...
true // ... secondes
);
mov.onMotionChanged = updateScore;
mov.onMotionFinished = fixScore;
num++;
}
function subScore() {
var mov:Tween = new Tween(_root, "score", Regular.easeIn, num*inc, (num-1)*inc, .7, true);
mov.onMotionChanged = updateScore;
mov.onMotionFinished = fixScore;
num--;
}
function resetScore() {
var mov:Tween = new Tween(_root, "score", Regular.easeIn, num*inc, 0, .7, true);
mov.onMotionChanged = updateScore;
mov.onMotionFinished = fixScore;
num = 0;
}
// OUTILS
// écris la nouvelle valeur du score dans le champ texte, la fonction tween passe par des valeurs
// décimales, int ( score ) me permet de convertir en entier plus rapidement qu'avec un Math.floor()
function updateScore(){
score_txt.text = int( score );
}
// une 'sécurité', afin d'être sûr que la valeur affichée à la fin de l'interpolation
// correspond bien au score actuel.
// note : le seul intérêt de cette sécurité est de présenter le gestionnaire onMotionFinished.
function fixScore() {
score_txt.text = num*inc;
}