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 3 Discussion :

Je ne comprends vraiment pas le "getChildByName"


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Par défaut Je ne comprends vraiment pas le "getChildByName"
    Rebonjour !!

    J'ai déjà poster un truc du genre mais je crois que j'ai rien compris !

    J'ai ce code là pour mettre dynamiquement disons 10 clips. J'incrémente leur occurrence.

    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
    var gamers:Gamers;
     
    function init():void 
    {
     
       for (var i:int=1;i<11;i++)
       {
    	gamers = new Gamers();
    	gamers.gamers_id.text="Joueur"+i
    	gamers.name="gamers"+i;
    	addChild(gamers);
    	gamers.y=50*i+100;
    	gamers.x=300 
     
    }
    Jusque là tout va bien. Le clip parent s'appelle gamers dans ma bibliothèque à l'intérieur duquel j'ai mis un texte dynamique de type input dont l'instance est "joueur".

    Comment, en dehors de cette fonction init(), je peux modifier mes clips ?

    Par exemple, je veux récupérer le texte du clip gamers1, gamers2...

    Je n'y comprends rien et je n'ai pas trouvé d'explication simple.

    On doit passer par le GetChildByName mais ça me dépasse complètement ;-)

    Merci de votre aide précieuse !!

    Coincoin22, newbie

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Salut,

    il faut que tu prennes l'habitude d'aller voir ce qu'on appelle l'ASDoc, c'est sur ces pages que tu trouves les informations intéressantes

    Par exemple en allant sur cette page, tu vois ceci :

    getChildByName(name:String)isplayObject
    Renvoie l’objet d’affichage enfant portant le nom spécifié.
    cela veut dire que tu appelles ta fonction en lui passant un paramètre de type string et elle te retourne un objet de type DisplayObject. Dans ton cas de figure, si tu appelles getChildByName("gamers"+i) (dans une boucle par exemple) tu obtiendras un DisplayObject correspondant au name passé en paramètre.

    PS: c'est en forgeant qu'on devient forgeron normal qu'a début tout ca te semble compliqué

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Par défaut
    Merci !!

    Si j'ai tout compris, pour récupérer mon clip créé indépendamment et jouer avec, je fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var target1:DisplayObject = getChildByName("gamers1");
    et ensuite je joue avec target1...

    C'est bien ça ??

    si c'est ça alors comment récupérer le texte "joueur":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    target1.joueur.text="Salut";
    J'ai du louper un truc !

    Un truc du genre dans une boucle ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trace(getChildByName("gamers"+i).joueur.text);
    Coincoin22

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Par défaut
    J'ai créé dynamiquement mon champ de texte et ça fonctionne !

    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
    29
    30
    31
    function init():void 
    {
     
       for (var i:int=1;i<gg+1;i++)
       {
     
    	var myText:String = "JOUEUR"+i;
    	var myFirstTextBox:TextField = new TextField();
    	myFirstTextBox.type = TextFieldType.INPUT;
    	myFirstTextBox.background = true;
    	myFirstTextBox.name="Joueur"+i;
    	myFirstTextBox.y=50*i+100;
    	myFirstTextBox.x=300
    	myFirstTextBox.width=360
    	myFirstTextBox.height=20
    	addChild(myFirstTextBox);
    	myFirstTextBox.text = myText;
    	myFirstTextBox.setTextFormat(my_fmt);
        }
    }
     
     
    function tirage(e:Event):void 
    {
     
    for (var i:int=1;i<gg+1;i++)
       {
    	var target = TextField(getChildByName("Joueur"+i)) as TextField;
    	trace(target);
     
    }
    Merci !!

    C'est en forgeant... Merci l'ami !

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

Discussions similaires

  1. [RMI] ClassNotFoundException que je ne comprends tjs pas
    Par Satch dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 10/05/2007, 12h07
  2. Erreur de variable, je comprends vraiement pas :( aidez moi svp.
    Par plex dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 04/08/2006, 14h16

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