Créer un menu déroulant basique - Flash/ActionScript - Programmation
Marsh Posté le 31-03-2010 à 10:26:45
getURL() c'est de l'AS2... En AS3, c'est navigateToURL() ayant pour argument une URLRequest (et non l'url directement). Ça donne donc navigateToURL(new URLRequest("http://www.google.fr" ));
Ensuite, je chipote mais dans les parenthèses d'un if(), on met une condition à vérifier si elle est "true"... if(menu_mc2.visible == true) revient donc à "Si (menu_mc2.visible = true) est true... Bref, un if(menu_mc2.visible) suffit...
avec un ! avant si tu veux que la condition soit fausse, soit if(!menu_mc2.visible)
Pour le reste du problème, je ne vois pas d'erreur à 1ere vue... est tu sûre que chacune de tes occurrences aient bien les mêmes noms ?
Ça te retourne quoi si tu fais :
trace("verification menu_mc => "+menu_mc);
trace("verification menu_mc2 => "+menu_mc2);
Et encore une autre critique, dans l'état actuel de ton code, tu vas devoir dupliquer ton code pour chaques menus et créer une fonction pour chaque sous menu, ça peut paraitre lourd...
Je te conseille de créer des sous fonction, par exemple :
Code :
|
Ainsi, en faisant changeVisibility(menu_mc), ça te cachera menu_mc si il etait visible, et inversement, ça te le rendra visible si il était cacher...
Tu peux aussi faire une unique fonction pour tous tes menus :
Code :
|
Marsh Posté le 31-03-2010 à 12:22:14
Merci de ta réponse surtout pour le navigateToURL
Tu fais bien de parler des pb liés à la répétitivité de mes menus. En effet, je suis confronté à un problème, au 1er clic le menu1 s'ouvre et au 2e clic il se referme. Le probleme c'est qu'on doit manuellement refermé chaque menu ouvert sous peine de se retrouver avec des sous menus les uns sur les autres.
Y'a-t-il un moyen de dire au clic ouvre le menu -et referme ceux déjà ouvert-? J'ai un peu de mal à appréhender la syntaxe.
Merci
Marsh Posté le 31-03-2010 à 12:57:22
J'était pas reveillé ce matin, la fonction clickItem aurais pu etre 10X plus simple :
Code :
|
Pour fermer un menu deja ouvert, il faut en laisser la trace dans une variable au moment de l'ouverture de celui-ci...
Si au clique d'un menu, cette variable contient quelque chose, ça veut dire qu'un menu à été ouvert auparavant...
Sans oublier de verifier que le dernier menu ouvert ne soit pas le même que celui sur lequel on clique !
Code :
|
Pigé ? C'est un jeu de logique...
Marsh Posté le 01-04-2010 à 02:21:28
Merci de cette réponse je suis en train d'essayer de l'appliquer :
malheureusement telle que je le place dans le code, tous les menus restent ouverts :
Code :
|
JE comprends que ce code fais doublon avec celui que j'avais deja, mais je ne comprends pas bien quoi enlever...
Marsh Posté le 01-04-2010 à 10:16:59
deja un truc bete, utilise les balise [code=actionscript ] [ /code ] (sans les espaces)
Sinon, quand tu doubleclic dans le champs de code (toujours sur le forum), ça retire la numérotation des lignes, ce qui ne te fais pas de surplus quand tu copies/colles...
Ensuite, à 1ere vue :
1) la fonction clickItem (celle que j'ai fais), c'est pour tes menu_mc#, et non pour tes sous-menus !!!
2) Du coups, t'as 2 fonctions "clikItem" déclaré là, non non non !
3) Tu as oublié de mettre la fonction changeVisibility
Utilise la touche Tab pour indenter ton code, c'est pas très lisible là...
Je ne peux pas t'apprendre les bases de l'AS3, vas sur Yazo.net pour reviser un peu, jusqu'à ce que tu comprenne ligne par ligne ce que je t'ai mis...
Enfin, je ne te garantie pas que mon code va marcher, je ne l'ai pas testé, il m'arrive donc parfois d'oublier des conneries hein !
Marsh Posté le 31-03-2010 à 09:19:53
Bonjour,
je cherche à réaliser une menu déroulant au clique très basique dans son fonctionnement.
J'ai pour cela trouvé une vidéo de l'exemple apparemment parfait :
http://www.youtube.com/watch?v=dir93pWsuk8
Effectivement tout marche parfaitement quand on reproduit l'exemple de la vidéo : le menu est cliquable et se déroule bien. Tout est masqué quand il le faut et visible quand il le faut.
Là où ça se gâte c'est quand je duplique cet exemple pour continuer à construire mon menu les sous menu restent visibles dès le départ et plus rien ne fonctionne j'ai pourtant pensé à changer le nom des fonctions en dupliquant :
Tant que j'y suis je n'arrive pas à insérer un lien html à la place du trace("test" ) quand je mets getURL("#" ) ça renvoie une erreur, comment faire?
Merci.