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

Flash Discussion :

Affectation d'occurence de clips


Sujet :

Flash

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Affectation d'occurence de clips
    Bon, je m'excuse pour la stupidité de la question, mais je me heurte à un pb.

    Comment résoudre ceci (qui ne marche pas):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (i=0; i<5; i++)
    {
       theclip = "_root.myclip" + i;
       trace (theclip._name);
    }
    Bref, j'ai x instance de myclip, qui s'appellent myclip1,myclip2, myclip3, ...
    Et je veux accéder aux propriétés de chacun.

  2. #2
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    bonsoir,

    essaye quelque chose comme ça...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    trace(_root["myclip"+i]._name);
    en supprimant theclip = "_root.myclip" + i;

    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Dans même genre,

    quelle est la bonne syntaxe pour créer un objet x fois
    avec l'indice i concaténé à la chaine de caractère mon_objet
    pour y faire ensuite faire référence avec mon_objet0, mon_objet1, ....?

    J'ai essayé plusieurs trucs du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(i=0;i<10;i++){
    	var mon_objet(i) = new Object();
    }
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var ["mon_objet"+i] = new Object();
    qui générent des erreurs.

    Merci

  4. #4
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    lu,

    peut etre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //avec un tableau
    var i:Number=new Number();
    var array_obj:Array=new Array();
    for(i=0;i<5;i++)
    {
      array_obj[i]=new Object();
      array_obj[i].prop=new String(i);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //avec plusieur object
    var i:Number=new Number();
    for(i=0;i<5;i++)
    {
      this["array_obj"+i]=new Object();
      this["array_obj"+i].prop=new String(i);
    }

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    J'ai essayé les 2 méthodes mais y'a une erreur "incompatibilité de type" sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this["array_obj"+i].prop=new String(i);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array_obj[i].prop=new String(i);

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Merci pour vos reponses.

    Perso j'ai pu resoudre mon pb avec la fonction eval()... que je ne connaissais pas...

  7. #7
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    si tu fais ce test tu verras que c'est completement équivalent :
    (avec un clip sur ma scène nommé myclip1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    i=1;
    trace(eval("_root.myclip"+i)._x);
    trace(_root["myclip"+i]._x);
    et il vaut mieux privilégier la deuxième méthode et si possible éviter les _root au profit d"un chemin relatif genre this[.....
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Pour finir, j'ai simplifier mon code en instanciant directement mon objet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(i=0;i<10;i++){
    root["mon_objet"+i] = new Object();
    }
    sans mettre le var devant ce dernier et ça passe tranquille.

  9. #9
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    c'est presque parfait....
    tu aurais pu éviter le _root en utilisant this, si un jour tu utilises ton animation en la chargeant dans une autre _root[...] sera faux car _root fera référence au clip conteneur mais pas à celui chargé... il manquera un niveau dans ton chemin.

    bonne continuation...
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

Discussions similaires

  1. Récupérer toutes les occurences d'un clip
    Par threaded dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 30/04/2010, 11h52
  2. suppression d'occurences d'un clip creer dynamiqement
    Par leto02 dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 22/10/2009, 14h36
  3. Appeller une occurence dans un clip enfant
    Par darkloy dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 22/05/2009, 14h17
  4. pb onRollOver avec occurences de 2 clips
    Par Le_Mex dans le forum Flash
    Réponses: 4
    Dernier message: 06/03/2007, 11h22
  5. plusieur occurence d'un clip
    Par Trascal dans le forum Flash
    Réponses: 1
    Dernier message: 01/11/2006, 19h52

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