Menu déroulant AS3

  • Créateur du sujet Créateur du sujet Yordi
  • Date de début Date de début

Yordi

Membre enregistré
8 Mai 2008
5
0
Bonjour,
Nouveau sur ce site, j'espère que vous saurez m'aider :)
J'ai en faire une question sur un menu que je suis entrain de créer en ActionScript 3.
Ce n'est pas très facile à expliquer donc je vous joins l'exemple et le fichier FLA.
Donc, mon menu sait aller d'un endroit à l'autre au suivi de la souris comme prévu.

Le premier "Hic" est lorsque l'on survole le menu... Si on passe par dessus mais sur le bord orange et pas en étant sur le graphique "MENU", il se déroule correctement mais pas si on le déroule en étant sur "MENU". Il se déroule alors en étant saccader au survol des boutons.

Le deuxième "Hic" est lorsque l'on veut dérouler une deuxième fois le menu, il ne se déroule plus du tout de la même façon... Donc si on veut le voir à nouveau dérouler correctement, il faut rafraichir...

Et j'ai une petite question en plus, avez-vous une idée de comment je peux faire pour que le suivi du menu soit un peu plus lent par rapport à la souris (histoire que ce soit plus fluide).

le fichier FLA
le fichier en ligne


Merci d'avance

Yordi
 
fimport caurina.transitions.Tweener;

var LID:uint = stage.stageWidth - DER.width/2;

var LIG:uint = DER.width/2;


DER.addEventListener(MouseEvent.MOUSE_OVER, rollover);

function rollover(EVE:MouseEvent):void {

Tweener.addTween(DER.MEN, {y:-164, alpha:1, transition:"easeOutElastic", time:1});

Tweener.addTween(DER.MEN.partenaire, {y:260, transition:"easeInCirc", time:1.5});
Tweener.addTween(DER.MEN.evenement, {y:230, transition:"easeInCirc", time:1.4});
Tweener.addTween(DER.MEN.promo, {y:200, transition:"easeInCirc", time:1.3});
Tweener.addTween(DER.MEN.tarif, {y:170, transition:"easeInCirc", time:1.2});
Tweener.addTween(DER.MEN.commande, {y:140, transition:"easeInCirc", time:1.1});
Tweener.addTween(DER.MEN.soin, {y:110, transition:"easeInCirc", time:1});
Tweener.addTween(DER.MEN.produit, {y:80, transition:"easeInCirc", time:0.9});
Tweener.addTween(DER.MEN.coiffeuse, {y:50, transition:"easeInCirc", time:0.8});
Tweener.addTween(DER.MEN.coiffure, {y:20, transition:"easeInCirc", time:0.7});
Tweener.addTween(DER.MEN.rdv, {y:-10, transition:"easeInCirc", time:0.6});
Tweener.addTween(DER.MEN.salons, {y:-40, transition:"easeInCirc", time:0.5});

}



DER.addEventListener(MouseEvent.MOUSE_OUT, rebobiner);

function rebobiner(EVE:MouseEvent):void {

Tweener.addTween(DER.MEN, {y:-495.6, alpha:1, transition:"easeOutBack", time:0.5});

}
DER.addEventListener(Event.ENTER_FRAME, suivi); // << j'utiliserais Timer / setInterval

function suivi(EVE:Event):void {

if (mouseX < LIG) {
DER.x = LIG;
} else if (mouseX > LID) {
DER.x = LID;
} else {
DER.x = mouseX;
}
}

... il me semble que ce sera déjà mieux
 
Merci pour ta réponse si rapide :)
Pour le Timer, je viens de lire un peu l'aide de Flash parce que c'est très flou pour moi et je n'y arrive toujours pas. Mais je devrais y arriver en cherchant bien je pense.
Sinon, tu n'aurais pas une idée lors du survol de la descende de mes bouton? Car c'est ça qui m'ennuie le plus pour le moment en fait. Je pensais moi que c'était à cause de la propriété "Bouton" mais quand j'en fais des "Clip", cela ne change rien... Enfin, pensé à ça car c'est lorsque l'on se trouve sur le bouton même que ça ralenti. Si on est à côté ou au dessus, ça va tout seul.

Encore merci :)
 
Non non je n'ai pas perdu l'habitude mais je n'y ai pas du tout pensé vu que c'était un test ;)
Il sera bien entendu valide W3C au final :D

ps: Je ne m'attendais pas à vous voir ici. Sinon, pas une idée pour mon menu :cool:?