IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 1 & ActionScript 2 Discussion :

Accéder dynamiquement à un clip créer manuellement


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Par défaut Accéder dynamiquement à un clip créer manuellement
    Bonjour !

    Je créer le menu d'un site dynamiquement à l'aide d'un fichier XML. Ce menu se créer de cette manière :

    - duplicatemovieclip d'un clip "bouton" avec du texte dynamique vide dans lequel on inscrit le titre du bouton
    - duplicatemovieclip d'un clip titre avec le même comportement qu'au dessus.

    Ensuite lorsqu'on clique, je veux afficher des clips "page". Le nom du clip sera composer du titre du bouton + Page. Par exemple, bouton "News" sera lié à la page "NewsPage" et ce clip / page sera présent sur la scène principale.

    Le problème c'est que tout les boutons et titres sont crées dynamiquement mais les "pages" elle sont créer manuellement par mes soins (bah oui faut bien que je fasse quelque chose). Donc comment y accéder ?

    Merci.

    Voilà mon code (en gros, j'ai enlever les trucs superflus) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    var subMenus:Array = myXML.firstChild.childNodes[i].childNodes;
     
    		for (var j = 0;j<subMenus.length;j++) {
    			var newY:Number = subMenu._y + (j*15);
    			var mySub:MovieClip = subMenu.duplicateMovieClip("subMenu"+k,k+100,{_x:newX,_y:newY});
     
    			mySub.subMenu.subMenu.text = subMenus[j].attributes.nom;
    			mySub.subMenu.subMenu.autoSize = true;
     
    			var myTitre:MovieClip = _parent.titreMenu.duplicateMovieClip("titreMenu"+k,k+100+i+1,{_x:20,_y:15});
    			myTitre.menuT.menuT.text =  subMenus[j].attributes.nom;
    			myTitre.menuT.menuT.autoSize = true;
     
    			mySub.clip = myTitre;
     
    			mySub.onRollOver = function() {
    				this.gotoAndPlay(2);
    			}
     
    			mySub.onRollOut = function() {
    				this.gotoAndPlay(7);
    			}
     
    			mySub.onRelease = function() {
    				this.clip.gotoAndPlay(2);
    				this.enabled = false;
    			}
    		}

  2. #2
    Membre confirmé Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Par défaut
    Bonjour !

    Bon ça n'intéresse pas beaucoup de monde, mais j'ai trouver une solution toute bête : je fais un for each MovieClip in _parent (donc mon root) et pour chaque clip je regarde si son nom correspond au nom "nom_de_mon_noeud_XMLPage". Si c'est le cas, j'affecte ce clip à ma variable mySub.page.

    Ensuite dans mon mySub.onRelease, je fais : this.page.gotoAndPlay(x).

    Des fois que ça peut aider quelqu'un...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 200
    Par défaut
    Salut,
    Si j'ai bien compris ton problème j'utiliserai la fonction eval.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var mc : MovieClip;
    for (i=0; i < tableauDesNoeud.lentgh ; i++){
     mc = eval(tableauDesNoeud[i]);
     if (mc != undefined){
       //Et maintenant mc designe ta page créée manuellement 
       }
     }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [UserControl] Comment accéder dynamiquement à son Content ?
    Par gillou.95 dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 22/09/2008, 10h07
  2. Sauvegarder les controles créer manuellement
    Par anthyme dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/08/2007, 17h07
  3. Réponses: 3
    Dernier message: 09/06/2007, 01h28
  4. Réponses: 17
    Dernier message: 06/12/2006, 16h34
  5. [FLASH MX2004] Texte dynamique dans clip
    Par arnolem dans le forum Flash
    Réponses: 2
    Dernier message: 08/06/2005, 09h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo