3/5 (31 avis)
Vue 11 254 fois - Téléchargée 2 289 fois
stop(); import mx.transitions.Tween; import mx.transitions.easing.*; //déclaration des variables tween var sup1:Tween; var move1:Tween; var sup2:Tween; var move2:Tween; //fonction qui définit la position du bouton par rapport au précedent et qui assigne les propriétes des boutons à leur masque onEnterFrame = function () { tbt1._x = bt1._x; tbt2._x = bt2._x; tbt3._x = bt3._x; tbt4._x = bt4._x; tbt1._y = bt1._y; tbt2._y = bt2._y; tbt3._y = bt3._y; tbt4._y = bt4._y; bt2._y = bt1._y+bt1._height; bt3._y = bt2._y+bt2._height; bt4._y = bt3._y+bt3._height;} //on passe la valeur du bouton par bt et bto définit le bouton précédemment selectionné et tbt le texte tbt1.onRollOver = function(){ tbt=tbt1; bto=bt; bt=bt1; clic();}; tbt2.onRollOver = function(){ tbt=tbt2; bto=bt; bt=bt2; clic();}; tbt3.onRollOver = function(){ tbt=tbt3; bto=bt; bt=bt3; clic();}; tbt4.onRollOver = function(){ tbt=tbt4; bto=bt; bt=bt4; clic();}; //function qui fait bouger les boutons function clic () { sup1 = new Tween(bto, "_yscale", Regular.easeOut, bto._yscale, 90, 1, true); move1 = new Tween(bt, "_height", Back.easeOut, bt._height, tbt._height-4, 1, true); sup2 = new Tween(bto, "_x", Regular.easeOut, bto._x, 68.2, 1, true); move2 = new Tween(bt, "_x", Back.easeOut, bt._x, 212.4, 1, true); } der.onRollOut= function(){ move1.stop(); move2.stop(); sup1 = new Tween(bt, "_yscale", Regular.easeOut, bt._yscale, 90, 1, true); sup2 = new Tween(bt, "_x", Regular.easeOut, bt._x, 68.2, 1, true); }
30 avril 2009 à 01:34
- placer tes menus dans un XML, car c'est pas très dynamique pour le moment
- Mettre des boucles "for" pour permettre de mettre plus de menus sans avoir à tout retaper à chaque fois
- diminuer le nombre de tweens (un seul devrais suffir pour toutes les propriétés), car tu risque d'avoir des interférences
- tout mettre en classes : une pour la barre de menus, et une pour chaque menu
- passer tout ça en as3 (mais ça reste optionnel)
Ensuite, question navigation, diminue le déplacement horizontal lors du passage de la souris, car on a l'impression que le menu se barre littéralement, et question ergonomie, ça ne fonctionne pas très bien.
Le mieux serait de faire un simple décalage à droite tout en laissant la couleur sur le bord gauche (un étirement), ça ferait plus "stable".
Sinon c'est sympa et pas trop mal ficelé pour un premier essai ;)
Peg'
30 avril 2009 à 12:53
prochaine update prochainement
j'espère arriver à tout faire sauf le cs3 (pas le temps de m'y mettre)
je pense probablement faire une gestion par php mysql
tu en pense quoi
30 avril 2009 à 18:50
Pour le php, c'est toi qui choisis ton mode de fonctionnement, mais tu peux très bien envoyer un XML via le PHP, ce qui reviendrait exactement au même.
Après ce ne sont que des conseils pour améliorer tout ça.
Peg'
30 avril 2009 à 20:52
Source à part, quand je vois : "première source donc rien de bien compliqué" je ne suis pas d'accord. Une première source n'implique pas de poster un truc inutile, de mauvaise qualité, obsolète ou autre, c'est comme ça que l'on retrouve des sources pourries sur flashKod... (je ne parle pas de TA source, mais juste de cette phrase)
Stef.
7 mai 2009 à 10:17
CEPENDANT: j'aurais souhaité que le menu se déroule tout simplement et n'est pas d'effet "aérien" sur le côté. Pour cela j'ai modifié le ligne suivante de code:
move2 = new Tween(bt, "_x", Back.easeOut, bt._x, 20, 0, true);
l'effet me semble bon mais j'ai toujours un décalage qui se crée quand un menu revient à sa place initiale. Pas facile à expliquer mais pour imager mes propos: "un peu comme une machine a écrire quand on revient à la ligne".
J'ai tout essayé et ça fait un jour que je suis dessus !
Help ! ^^
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.