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 :

Comment dupliquer un movieclip construit avec les addchild


Sujet :

ActionScript 3

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Par défaut Comment dupliquer un movieclip construit avec les addchild
    Voila..je suis en pleine recheche d'une solution me permettant de pouvoir dupliquer un movieclip fabriquer a partir d'autre movieclip


    alors imaginons 2 clip ..IC1 avec un carre dessine dedans
    et IC2 un rond..je met le clip IC2 dans IC1 et je veux afficher seulement IC1
    qui possede le rond et le carre

    voici un exemple du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var IC1:MovieClip = new Class_Icones();
    var IC2:MovieClip = new Class_Inners();
     
    IC1.addChild(IC2)
    addChild (IC1)
    jusque la tout va bien..je peux voir mon clip IC2 lorsque
    j'affiche IC1..mais ensuite je veux dupliquer IC1..

    voici mon code qui ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Ici la creation des clips
    for (var i = 0; i<numOfItems; i++) {
    	Angle[i] = i*((Math.PI*2)/numOfItems);
    	ClipTab[i] = new Class_Icones()  
    	ClipTab[i].x = Math.cos(Angle[i])*radiusX+centerX;
    	ClipTab[i].y = Math.sin(Angle[i])*radiusY+centerY;
    	this.addChild(ClipTab[i]);
     
    }
    il m'affiche effectivement l'image de IC1..mais pas celui de IC2...

    je sais que mon code est faux, mais si kkl un trouve la solution cela me soulagerais merci...

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Par défaut arf..j'oublias
    ClipTab[i] est un tableau defini comme

    ClipTab: Array = new Array()

    voial et encore merci pour vos reponses

  3. #3
    Membre expérimenté
    Homme Profil pro
    Creative Technologist
    Inscrit en
    Avril 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Creative Technologist

    Informations forums :
    Inscription : Avril 2007
    Messages : 126
    Par défaut Inclusion de IC2
    Ca me semble être juste une erreur d'inattention...

    Je pense que tu as oublié une ligne du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClipTab[i].addChild(new Class_Inners());
    Evidemment, si tu veux pouvoir contrôler ton IC2, il va falloir que tu construises un second Array en parallèle, du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ClipTabBis[i] = new Class_Inners();
    ClipTab[i].addChild(ClipTabBis[i]);

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Par défaut
    Ah ..ok..je suis donc obliger de le faire pour tous les clips que j'inclus..
    voila..je comprends mieux..en fait mon erreur etait de penser que je n'avais qu'a le faire une fois dans un clip puis de multiplier celui ci en pensant que tous les autres y aurait été inclus..mais erreur..
    okok

    merci beaucoup pour tes lumières..

  5. #5
    Membre expérimenté
    Homme Profil pro
    Creative Technologist
    Inscrit en
    Avril 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Creative Technologist

    Informations forums :
    Inscription : Avril 2007
    Messages : 126
    Par défaut
    Heu...

    Dis, t'as édité le code tu premier message du thread non? Vaut mieux refaire un message à la suite des autres, sinon on comprend plus rien si le premier message n'est plus le même... Enfin... je me rappelle plus... (je sais plus si je suis en train de répondre deux fois à la même question ou à deux questions différentes)

    Je sais pas exactement ce que tu veux faire... si tu veux construire un clip dynamiquement, puis te servir de ce modèle pour le répéter autant de fois que tu le désires... il n'y a pas de fonction qui copie un clip. Tu dois la programmer.

    Il faut savoir aussi qu'un objet ne peut avoir qu'une seule représentation à l'écran: si tu crée deux IC1 et un IC2, que tu fais IC1_A.addChild(IC2), il apparaitra dans le IC1_A, puis si tu fais IC1_B.addChild(IC2), il apparaitra dans le IC1_B, mais plus de le IC1_A. En ce cas, tu devrais créer deux IC2.

    Ce que je comprends pas, c'est pourquoi tu veux faire une copie. Si tu as créé le clip dynamiquement, cela veut dire que tu en connais la structure, et donc que tu peux en créer un nouveau similaire... ce qui est plus facile que de copier un clip.

    Cependant, pour tenter de répondre à ta question, si tu veux copier un clip, il faut programmer une méthode récursive qui parcours toute l'arborescence graphique de ton clip, en en reconstruissant un en parallèle, en tentant au mieux de lui attribuer les mêmes paramètres. Mais il y en a tellement que je doute que cela puisse être programmé de manière solide, efficace et marchant dans tous les cas.

    Dans ce thread, http://www.developpez.net/forums/sho...d.php?t=400454, tu trouveras une méthode qui parcours le clip qui pourrais te montrer une voie possible par rapport à ce que tu veux faire... si j'ai bien compris ce que tu veux...

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/07/2006, 20h55
  2. Réponses: 6
    Dernier message: 18/05/2006, 14h11
  3. Réponses: 1
    Dernier message: 03/05/2006, 10h49
  4. Comment ecrire un charactere 0x00 avec les CFile
    Par barthelv dans le forum MFC
    Réponses: 10
    Dernier message: 12/10/2005, 10h26
  5. Comment bien gerer la mémoire avec les TStringList?
    Par david_chardonnet dans le forum Langage
    Réponses: 5
    Dernier message: 18/06/2003, 09h57

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