Bonjour, voila je suis en train de réaliser un menu vertical en flash avec lecture dans un fichier xml et je rencontre un soucis pour faire en sorte de n'avoir qu'un menu ouvert à la fois. Les deux problèmes que je rencontre sont situés au niveau de la double boucle for (en route dans le code suivant). Le premier problème vient du fait que la deuxieme boucle for ne me trouve pas les sous_menu au dela du 7 (premier a pour indice 0). Ensuite lorsque je cherche a masqué les menu en mettant
this["sous_menu"+j]._visible = 0 ca me masque tous les sous menu y compris celui que je veux ouvrir. Merci d'avance à ceux qui pourront m'apporter un coup de main.
on (press) {
/******** Variables *********/
//Récupération du nom
nom = this._name.substr(4, 5);
//Variable pour la hauteur d'un menu et si il a été cliqué ou non
var hauteur, clic;
//Si la hauteur = 59.95 ou si clic = 0
if (this._height == 59.95 or clic == 0) {
//Hauteur initialisé à 0
hauteur = 0;
//Affichage des sous-menu correspondant au menu actuel
for (i=0; i<this._parent.menus[nom].childNodes.length; i++) {
//Création des sous menu
this.sous_menu.duplicateMovieClip("sous_menu"+i, i*1);
//Affichage des informations
this["sous_menu"+i].sous_titre = (this._parent.menus[nom].childNodes[i].attributes.titre);
//Position du sous menu par rapport au précédent
this["sous_menu"+i]._y = this["sous_menu"+(i-1)]._y+17;
//calcul de la hauteur du menu
hauteur = hauteur+17;
}
//On récupère dans un entier le menu suivant
test = parseInt(nom)+1;
//Boucle de repositionnement des menus plus bas.
for (i=test; i<_root.menus.length; i++) {
menu = _root["menu"+i]._y;
_root["menu"+i]._y = menu+hauteur+10;
}
for (i=test; i<_root.menus.length; i++) {
trace(this._parent["menu"+i]._name);
for (j=0; j<this._parent.menus[i].childNodes.length; j++) {
trace(this["sous_menu"+j]._name);
}
} //Clic = 1
clic = 1;
} else {
//On masque les sous menu du menu en cours
for (i=0; i<this._parent.menus[nom].childNodes.length; i++) {
this["sous_menu"+i]._visible = 0;
}
//On récupère dans un entier le menu suivant
test = parseInt(nom)+1;
//Boucle de repositionnement des menus en position normal.
for (i=test; i<_root.menus.length; i++) {
menu = _root["menu"+i]._y;
_root["menu"+i]._y = menu-hauteur-10;
}
//Clic = 0
clic = 0;
}
}