Soyez le premier à donner votre avis sur cette source.
Vue 9 804 fois - Téléchargée 1 178 fois
/////////////////// // LES VARIABLES // /////////////////// var centreClip = 4;// le clip 4 est au centre en début var nbClip = 15;// ici le nombre de clip du menu var repereX = 0; var profClip:Number; var choixGroupe:MovieClip = mini4_mc; //dans ce tableau les noms des clips a exporter var groupe:Array = new Array("clip1","clip2","clip3","clip4","clip5","clip6", "clip7","clip8","clip9","clip10","clip11", "clip12","clip13","clip14","clip15"); //dans ce tableau, le texte qui s'affiche quand on survole le clip var nomGroupe:Array = new Array("CLIP 1","CLIP 2","CLIP 3","CLIP 4","CLIP 5","CLIP 6", "CLIP 7","CLIP 8","CLIP 9","CLIP 10","CLIP 11", "CLIP 12","CLIP 13","CLIP 14","CLIP 15"); // _root.attachMovie(groupe[0],"mini"+0+"_mc",1, {_x:-25, _y:80}); _root.attachMovie(groupe[1],"mini"+1+"_mc",2, {_x:75, _y:80}); _root.attachMovie(groupe[2],"mini"+2+"_mc",3, {_x:175, _y:80}); _root.attachMovie(groupe[3],"mini"+3+"_mc",4, {_x:275, _y:80}); _root.attachMovie(groupe[4],"mini"+4+"_mc",5, {_x:375, _y:80}); _root.attachMovie(groupe[5],"mini"+5+"_mc",6, {_x:475, _y:80}); _root.attachMovie(groupe[6],"mini"+6+"_mc",7, {_x:575, _y:80}); _root.attachMovie(groupe[7],"mini"+7+"_mc",8, {_x:675, _y:80}); _root.attachMovie(groupe[8],"mini"+8+"_mc",9, {_x:775, _y:80}); ///////////////////////////// // FONCTION MENU DEROULANT // ///////////////////////////// _root.onEnterFrame=function(){ loupe(); if(droiteZone_mc.hitTest(_xmouse, _ymouse, true)){ for(i=-4;i<6;i++){ if((centreClip+i)<0){ _root["mini"+(nbClip+centreClip+i)+"_mc"]._x -= 10; }else if((centreClip+i)>(nbClip-1)){ _root["mini"+(Math.abs(nbClip-(centreClip+i)))+"_mc"]._x -= 10; }else{ _root["mini"+(centreClip+i)+"_mc"]._x -= 10; } } repereX -= 10; if(repereX == -100){ repereX = 0; if((centreClip-4)<0){ profClip = _root["mini"+(nbClip+(centreClip-4))+"_mc"].getDepth(); removeMovieClip("mini"+(nbClip+(centreClip-4))+"_mc"); _root.attachMovie(groupe[centreClip+5],"mini"+(centreClip+5)+"_mc", profClip, {_x:775, _y:80}); }else if((centreClip+5)>(nbClip-1)){ profClip = _root["mini"+(centreClip-4)+"_mc"].getDepth(); removeMovieClip("mini"+(centreClip-4)+"_mc"); _root.attachMovie(groupe[(Math.abs(nbClip-(centreClip+5)))],"mini"+(Math.abs(nbClip-(centreClip+5)))+"_mc", profClip, {_x:775, _y:80}); }else{ profClip = _root["mini"+(centreClip-4)+"_mc"].getDepth(); removeMovieClip("mini"+(centreClip-4)+"_mc"); _root.attachMovie(groupe[centreClip+5],"mini"+(centreClip+5)+"_mc", profClip, {_x:775, _y:80}); } centreClip++; if(centreClip == nbClip){ centreClip = 0; } } } if(gaucheZone_mc.hitTest(_xmouse, _ymouse, true)){ for(i=-5;i<5;i++){ if((centreClip+i)<0){ _root["mini"+(nbClip+centreClip+i)+"_mc"]._x += 10; }else if((centreClip+i)>(nbClip-1)){ _root["mini"+(Math.abs(nbClip-(centreClip+i)))+"_mc"]._x += 10; }else{ _root["mini"+(centreClip+i)+"_mc"]._x += 10; } } repereX += 10; if(repereX == 100){ repereX = 0; if((centreClip-5)<0){ profClip = _root["mini"+(centreClip+4)+"_mc"].getDepth(); removeMovieClip("mini"+(centreClip+4)+"_mc"); _root.attachMovie(groupe[(nbClip+(centreClip-5))],"mini"+(nbClip+(centreClip-5))+"_mc", profClip, {_x:-25, _y:80}); }else if((centreClip+4)>(nbClip-1)){ profClip = _root["mini"+(Math.abs(nbClip-(centreClip+4)))+"_mc"].getDepth(); removeMovieClip("mini"+(Math.abs(nbClip-(centreClip+4)))+"_mc"); _root.attachMovie(groupe[(centreClip-5)],"mini"+(centreClip-5)+"_mc", profClip, {_x:-25, _y:80}); }else{ profClip = _root["mini"+(centreClip+4)+"_mc"].getDepth(); removeMovieClip("mini"+(centreClip+4)+"_mc"); _root.attachMovie(groupe[centreClip-5],"mini"+(centreClip-5)+"_mc", profClip, {_x:-25, _y:80}); } centreClip--; if(centreClip == -1){ centreClip = (nbClip-1); } } } } ////////////////////////////////////// // FONCTION LOUPE DU MENU DEROULANT // ////////////////////////////////////// loupe = function(){ for(i=0;i<nbClip;i++){ if(_root["mini"+i+"_mc"].hitTest(_xmouse, _ymouse, true)){ _root["mini"+i+"_mc"]._xscale = 130; _root["mini"+i+"_mc"]._yscale = 130; groupe_txt.text = nomGroupe[i]; choixGroupe = _root["mini"+i+"_mc"]; choixGroupe.onPress = function(){ trace("j'ai choisi "+choixGroupe); } }else{ _root["mini"+i+"_mc"]._xscale = 100; _root["mini"+i+"_mc"]._yscale = 100; } } }
Effectivement, je l'ais faite un peu vite et surtout je n'avais pas trouvé la source qu'indique TOP30, qui est vraiment bien.
Autant pour moi.
autant ta première source, qui date déja de quleque temps, je la trouve très interessante, autant celle-ci est trop rapidement abordée.
Voici quelques éléments à améliorer:
1> tu utilise des Array a la place de Vector.<String>
2> ton premier array est compétement inutile
3> tu devrais utiliser une boucle pour tes clips, au lien de dupliquer les méthodes
4> ta source n'est pas du tout dynamique, elle gagnerais sans commune mesure a se baser sur un xml
5> ton choix d'utiliser des hitests pour le defilement est discutable
6> et surtout tout ton code dans l'enterframe, est loin d'etre optimisé:
--->code redondant (pas POA du tout)
--->choisir de faire des removeChilds et des addChilds, n'est peut etre pas la méthode la moins gourmande en temps et ressource.
Bref, il y a beaucoup de travail pour que ta source soit honnetement au niveau de nombreuse autre traitant du meme sujet
Cordialement
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.