Bonjour,
J'ai fais un petit bouton exemple qui permet une lecture inversée de l'animation lors du rollout. Pour être plus clair, ça permet de faire une animation en rollover qui retourne en état de départ par une animation lors du rollout.
Mouais, quand je me relis c'est vraiment un peu du pakistanais. Alors rien de tel qu'un petit exemple:
www.newredsun.ch/exemples/bouton_tourne.phpPour le faire, c'est simple...
Créez un clip (J'ai bien dis un clip, pas un bouton)que vous nommez "Bouton".
réalisez une animation de la longueur que vous voulez (il va de soit qu'elle devra comporter au moins deux frames
) et de la manière qui vous convient. Interpolation de forme,..mouvement, key frame..peu importe.
collez le script sur la frame ou se trouve votre bouton.
- Code:
-
//INI - on stop l'anime du bouton
Bouton.stop();
// si le pointeur se trouve sur bouton
Bouton.onRollOver = function() {
//creation d'une boucle
this.onEnterFrame = function() {
//on surveille la frame en cours
switch (bouton._currentframe) {
//Si elle est la dernière de l'animation
case bouton._totalframes :
//alors la lecture retourne au debut
bouton.gotoAndStop(1);
break;
default :
// Sinon elle avance a la frame suivante
bouton.nextFrame();
break;
}
};
};
// Si le pointeur ne se trouve plus sur bouton
Bouton.onRollOut = function() {
// on supprime la premiere boucle
delete this.onEnterFrame;
// creation d'un nouvelle boucle
this.onEnterFrame = function() {
//on surveille la frame en cours
switch (bouton._currentframe) {
//si elle se trouve au debut, on supprime la nouvelle boucle
case 1 :
delete this.onEnterFrame;
break;
//si elle se trouve a la derniere, on supprime la boucle et on replace la lecture au debut
case bouton._totalframes :
delete this.onEnterFrame;
bouton.gotoAndStop(1);
break;
default :
// si elle se trouve entre le milieu et la fin, on continue la lecture jusqu'au bout
if (bouton._currentframe>bouton._totalframes/2) {
bouton.nextFrame();
} else {
// si elle se trouve entre le début et le milieu, on retourne jusqu'au début
bouton.prevFrame();
}
break;
}
};
};
Bouton.onRelease = function() {
// ici votre action pour votre bouton
};
et voili...
Sachez encore que si vous le voulez il possible de changer l'animation du bouton par une autre en utilisant un clip dans votre clip "Bouton" et la fonction loadmovie. Mais pour cela il faut ramplacer dans le script "Bouton" par "Bouton.nouveauclip".Cela vous permet par exemple de faire un composant pour une utilisation multiple de votre bouton dans votre publication.
Si vous avez des problèmes vous trouverez ici le fichier source.
www.newredsun.ch/exemples/bouton_tourne.fla_________________