Animation de bouton, Cassure de l'animation lors de déplacements rapide sur le
pouetprout
Messages postés2Date d'inscriptiondimanche 17 février 2008StatutMembreDernière intervention18 mars 2008
-
17 mars 2008 à 13:02
pouetprout
Messages postés2Date d'inscriptiondimanche 17 février 2008StatutMembreDernière intervention18 mars 2008
-
18 mars 2008 à 11:54
Bonjour à tous !
Voila je suis nouveau dans la création Flash et je ne parviens pas a faire un truc en apparence tout simple
j'ai un bouton fluide classique avec le code AS3 suivant :
function fonctionOver(evt):void{
anim_bouton_logiciel.gotoAndPlay(2);
}
function fonctionOut(evt):void{
anim_bouton_logiciel.gotoAndPlay(anim_bouton_logiciel.currentFrame+15);
}
function fonctionClick (evt):void{
anim_bouton_logiciel.gotoAndPlay(46);
}
function fonctionRelease(evt):void {
// Ici les actions du bouton.
// par exemple un getURL();
}
Trois fonction de la souris sont utilisé : Over, Out et Click
mon probleme est que lorsque je clic sur mon bouton et que je sors de ses limites l'animation de fontcionOut se produit.
Ma première question est donc :
Comment interdire l'animation lancée par la fonctionOut lorsque j'ai effectué un clic sur le bouton ?
------------------------------------------------------
Mon deuxième problème est une question de "fluidité" et ne concerne pas le clic.
Lorsque je passe mon curseur rapidement sur mon bouton de la manière suivante :
Curseur sur bouton <= animation fcontionOver, ca c'est ok !
Curseur en dehors du bouton <= animation fonctionOut,
Curseur sur bouton alors que l'animation de la fonctionOut n'est pas encore terminé <= Reset de l'animation qui repart sur la fonctionOver.
Donc sur la fonctionOut mon animation ne prend pas le temps de se terminer et se relance depuis le départ.
Ma deuxième question est donc :
Peut on mettre une sorte de timer qui interdit de faire quoique ce soit sauf l'animation de fonctionClick tant que l'animation de la fonctionOut ne s'est pas terminé ?
J'espère avoir été clair et vous remercie par avance.
A vot' bon cœur M'sieur, Dam' !
;)
Renaud
A voir également:
Animation de bouton, Cassure de l'animation lors de déplacements rapide sur le
cs_inaden
Messages postés618Date d'inscriptionmercredi 4 avril 2007StatutMembreDernière intervention27 août 20102 18 mars 2008 à 11:30
Salut,
je dis peut-être une grosse ânerie, aussi pardon par avance si mon commentaire est inutile.
Si tu déclares directement ta fonction out, elle s'effectura de fait, si tu veux qu'elle ne se déclare qu'après le Over, pourquoi ne l'appelles-tu pas à ce moment.
Soit :
bouton_logiciel.addEventListener(MouseEvent.MOUSE_OVER,fonctionOver);
bouton_logiciel.addEventListener(MouseEvent.CLICK,fonctionClick);
function fonctionOver(evt):void{
anim_bouton_logiciel.gotoAndPlay(2);
bouton_logiciel.addEventListener(MouseEvent.MOUSE_OUT,fonctionOut);
}
Pour ta seconde question, peut-être qu'avec une variable qui serait false au départ, et true quand ta fonction out est fini, et avec une condition pour la vérifier, cela pourrait-il marcher.
Ce qi donnerait un truc comme :
sur ta time line principale verfi=false;
en fin de ton anim de out _root.verif=true;
et dans ta fonction de clic
this.onEnterFrame=function(){
if(_root.verif){
//lance ta fonction
delete this.onEnterFrame;
_root.verif=false;
}
else{
//rien ne se passe
}
}
Ou un truc comme ça...
Bonne chance et tiens nous au courant