Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : menu xml flash [ Scripts / ActionScript ] (marcof)

lundi 30 juin 2008 à 16:03:07 | menu xml flash

marcof

Bonjour à tous,

J'ai réussi à créer un menu avec un sous menumais je n'arrive pas à mettre un sous menu sous  le sous menu :)
Si quelqu'un pouvait m'aider

Code FLASH :
import mx.transitions.Tween;

var tabMenu:Array = new Array();
var diffHeight:Number;

var menu_mc:MovieClip = this.createEmptyMovieClip("menu_mc", 1);
 

loadMyXML("listeboutons.xml");

function loadMyXML(nameXML:String):Void {
 // ICI ON LOAD LE XML ET LE MET DANS UN TABLEAU SOUS LA FORME
 // Array(nomMenu, lien, Array(nomSousMenu, lienSousMenu));
 var document:XML = new XML();
 //création de l'objet XML
 document.ignoreWhite = true;
 //ignorer les sauts de ligne
 document.onLoad = function(success:Boolean) {
  if (success) {
   //nombre de menu xml
   var LengthXml:Number = document.firstChild.childNodes.length;
   for (i=0; i<LengthXml; i++) {
    var nom:String = document.firstChild.childNodes[i].attributes.name;
    var lien:String = document.firstChild.childNodes[i].attributes.lien;
    tabMenu.push(new Array(nom, lien));
    
    var ssmenuLength:Number = document.firstChild.childNodes[i].childNodes.length;
    var tabTemp = new Array();
    for (var j:Number=0; j<ssmenuLength; j++) {
     var ssname:String = document.firstChild.childNodes[i].childNodes[j].attributes.name;
     var sslien:String = document.firstChild.childNodes[i].childNodes[j].attributes.lien;
     tabTemp.push(new Array(ssname, sslien));
    }
    tabMenu[i].push(tabTemp);
   }
   // appel de la fonction qui va construire le menu
   constructMenu();
  } else {
   trace("Error loading XML file");
  }
 };
 document.load(nameXML);
}

function constructMenu():Void{
 for (var i:Number=0; i<tabMenu.length; i++) {
  this["menu"+i] = menu_mc.attachMovie("menu", "menu"+i, i);
  this["menu"+i]._y = (i) * this["menu"+i]._height;// ajustement hauteur avec (i+chiffre)
  this["menu"+i].num = i;
  this["menu"+i].mcText.mc_text.text = tabMenu[i][0];
  this["menu"+i].openMenu = false;
  
  this["ssmenu_mc"+i] = this.createEmptyMovieClip("ssmenu_mc", this.getNextHighestDepth());
  
  this["menu"+i].onRelease = function() {
   var yPos:Number = this._y + this._height;
   _root["ssmenu_mc"+this.num]._y = yPos;
   _root["ssmenu_mc"+this.num]._x = 10;//position x du ss menu
   
   if (!this.openMenu) {
    var yPos2:Number = 0;
    for (var j:Number=0; j<tabMenu[this.num][2].length; j++){
     this["ssmenu"+j] = _root["ssmenu_mc"+this.num].attachMovie("sousmenu", "ssmenu"+j, j);
     this["ssmenu"+j]._y = j * this["ssmenu"+j]._height;
     this["ssmenu"+j].num = j;
     this["ssmenu"+j].parentNum = this.num;
     this["ssmenu"+j].ss_ss_menu.mcText.mc_text_ss_menu.text = tabMenu[this.num][2][j][0];
     
     this["ssmenu"+j].onRelease = function() {
      trace("goto : "+tabMenu[this.parentNum][2][this.num][1]);
     }
     
     yPos2 += this["ssmenu"+j]._height;
    }
    for (var m:Number = this.num + 1; m<tabMenu.length; m++) {
     new Tween(menu_mc["menu"+m], "_y", Regular.easeIn, menu_mc["menu"+m]._y, menu_mc["menu"+m]._y + yPos2, 5, false);
     new Tween(_root["ssmenu_mc"+m], "_y", Regular.easeIn, _root["ssmenu_mc"+m]._y, _root["ssmenu_mc"+m]._y + yPos2, 5, false);
    }
    diff = yPos2;
   } else {
    for (var j:Number=0; j<tabMenu[this.num][2].length; j++){
     _root["ssmenu_mc"+this.num]["ssmenu"+j].removeMovieClip();
    }
    for (var m:Number = this.num + 1; m<tabMenu.length; m++) {
     new Tween(menu_mc["menu"+m], "_y", Regular.easeIn, menu_mc["menu"+m]._y, menu_mc["menu"+m]._y - diff, 5, false);
     new Tween(_root["ssmenu_mc"+m], "_y", Regular.easeIn, _root["ssmenu_mc"+m]._y, _root["ssmenu_mc"+m]._y - diff, 5, false);
    }
   }
   this.openMenu = !this.openMenu;
  }
 }
}



Code XML :
<?xml version="1.0" encoding="UTF-8"?>
    <listemenu>
      <menu name="Menu1" lien="#1">
        <sousmenu name="ss_menu1" lien="#1">
          <soussousmenu name="ss_ss_menu1" lien="#1"></soussousmenu>
          <soussousmenu name="ss_ss_menu2" lien="#2"></soussousmenu>
          <soussousmenu name="ss_ss_menu3" lien="#23"></soussousmenu>
          <soussousmenu name="ss_ss_menu3" lien="#23"></soussousmenu>
        </sousmenu>
        <sousmenu name="ss_menu2" lien="#75">
          <soussousmenu name="ss_ss_menu2_1" lien="#1"></soussousmenu>
          <soussousmenu name="ss_ss_menu2_2" lien="#2"></soussousmenu>
          <soussousmenu name="ss_ss_menu2_3" lien="#23"></soussousmenu>
          <soussousmenu name="ss_ss_menu2_4" lien="#23"></soussousmenu>
        </sousmenu>
        <sousmenu name="ss_menu3" lien="#45">
          <soussousmenu name="ss_ss_menu3_1" lien="#1"></soussousmenu>
          <soussousmenu name="ss_ss_menu3_2" lien="#2"></soussousmenu>
          
        </sousmenu>
        <sousmenu name="ss_menu4" lien="#1">
          <soussousmenu name="ss_ss_menu4_1" lien="#1"></soussousmenu>
          <soussousmenu name="ss_ss_menu4_2" lien="#2"></soussousmenu>
          <soussousmenu name="ss_ss_menu4_3" lien="#23"></soussousmenu>
        </sousmenu>
      </menu>
      <menu name="Menu2" lien="#">
        <sousmenu name="ss_menu2_1" lien="/BT/FAI_SOUSCRIPTION/souscription.jsp">
          <soussousmenu name="ss_ss_menu2_1_1" lien="#1"></soussousmenu>
          <soussousmenu name="ss_ss_menu2_1_2" lien="#2"></soussousmenu>
          <soussousmenu name="ss_ss_menu2_1_3" lien="#23"></soussousmenu>
        </sousmenu>
        <sousmenu name="ss_menu2_2" lien="#2_2">
          <soussousmenu name="ss_ss_menu2_2_1" lien="#1"></soussousmenu>
          <soussousmenu name="ss_ss_menu2_2_2" lien="#2"></soussousmenu>
          <soussousmenu name="ss_ss_menu2_2_3" lien="#23"></soussousmenu>
        </sousmenu>
        <sousmenu name="ss_menu2_3" lien="#2_3">
          <soussousmenu name="ss_ss_menu2_3_1" lien="#1"></soussousmenu>
          <soussousmenu name="ss_ss_menu2_3_2" lien="#2"></soussousmenu>
          <soussousmenu name="ss_ss_menu2_3_3" lien="#23"></soussousmenu>
        </sousmenu>
      </menu>
      <menu name="Menu3" lien="#3">
        <sousmenu name="ss_menu3_1" lien="#3_1">
          <soussousmenu name="ss_ss_menu3_1_1" lien="#1"></soussousmenu>
          <soussousmenu name="ss_ss_menu3_1_2" lien="#2"></soussousmenu>
          <soussousmenu name="ss_ss_menu3_1_3" lien="#23"></soussousmenu>
        </sousmenu>
        <sousmenu name="ss_menu3_2" lien="#3_2">
          <soussousmenu name="ss_ss_menu3_2_1" lien="#1"></soussousmenu>
          <soussousmenu name="ss_ss_menu3_2_2" lien="#2"></soussousmenu>
          <soussousmenu name="ss_ss_menu3_2_3" lien="#23"></soussousmenu>
        </sousmenu>
        <sousmenu name="ss_menu3_3" lien="#3_3">
          <soussousmenu name="ss_ss_menu3_3_1" lien="#1"></soussousmenu>
          <soussousmenu name="ss_ss_menu3_3_2" lien="#2"></soussousmenu>
          <soussousmenu name="ss_ss_menu3_3_3" lien="#23"></soussousmenu>
        </sousmenu>
      </menu>
      
    </listemenu>




Cette discussion est classé dans : menu, var, mc, number, ssmenu


Répondre à ce message

Sujets en rapport avec ce message

Gallerie Flash [ par theneoshaman ] Bonjours amis Flasheurs !Je suis en train de créer une gallerie dynamique en flash (mon dieu, que c'est original !) et j'ai un pb (sans déconner :p).. Attacher plusieurs clips dans un même clip créé dans une classe [ par buzhug35 ] Bonjour, Mon idée était de créer une horloge par le biais d'une classe UneHorloge à partir de 2 Clips de classes différentes : UnDisque et UneAiguille Comment insérer plusieurs clips de classe dans un autre clip de classe [ par buzhug35 ] Bonjour, Mon idée était de créer une horloge par le biais d'une classe UneHorloge à partir de 2 Clips de classes différentes : UnDisque et UneAiguill Aprentissage difficile des classes [ par szambaux ] Bonjour je suis en train de me former au classe est j'ai vraiment du mal donc je poste ce que j'ai fait, c'est une classe récupere le nom d'un fichier problème LoadMovie / MovieClipLoader [ par zecaraz ] Bonjour à tous!Je vais essayer de vous exposer mon problème le plus clairement possible.J'ai fait une animation avec un fond comportant plusieurs imag Problème galerie photo et classe MovieClipLoader [ par way2web ] Bonjour,j'essaye de faire une galerie photo en AS2 utilisant un fichier XML, mes miniatures apparaissent correctement, l'ajout d'un reflet via la clas Super debutant cherche à comprendre... [ par wips ] Salut à tous.Je commence à péter les plombs!!!J'arrive tout juste à commencer à comprendre et à traduire dans ma ptite tête le AS2... C'est déjà ça ap Help! Variable et onLoadComplete [ par laety97 ] Bonjour,Petit topo, je crée un clip vide que je duplique dans un boucle for en fonctin d'un fichier txt qui me fournit le nombre d'image à téléchager diaporama avec importation aléatoire [ par JackNUMBER ] bonjour à tous !!j'ai trouvé 2 scripts que j'aimerai combiné.L'un sert à charger une image aléatoirement dans un MovieClip (qu'il créé) qui est conten CLASS AS3 : Plusieurs clips enfants dans un parent [ par nuclearprout ] Bonsoir et d'ores et déjà dsl pour la longueur du titre. Je ne savais pas trop quoi mettre.Voilà j'ai le code : package {    import flash.disp


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.