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 :

tableau dynamique de movieclip


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 11
    Par défaut tableau dynamique de movieclip
    Bonjour,

    Je cherche à créer un tableau de movieclip mais uniquement le dernier est affiché.

    Concretement je déclare un tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var myArray:Array = new Array();
    Puis je crée mes movieclips:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    myArray[0] = _root.createEmptyMovieClip("name0", _root.getNextHighestDepth());
    myArray[1] = _root.createEmptyMovieClip("name1", _root.getNextHighestDepth());
    ...
    Le probleme est qu'a la suite je trace mon tableau et le résultat est :
    Je ne comprend pas pourquoi uniquement le dernier movieclip crée est retenu.

    Merci pour votre aide,

    Cordialement

  2. #2
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    Bonjour,

    lors de sa création le tableau est vide, pour ajouter un élément il faut utiliser la méthode push :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myArray.push( _root.createEmptyMovieClip("name0", _root.getNextHighestDepth()) );

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 11
    Par défaut
    Bonjour Beekeep,

    Je viens de mettre en place la même chose avec la methode push().

    Je me permet de joindre l'explication du nouveau code mais le probleme me parait etrange.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // Creation du tableau
    var myArray:Array = new Array();
     
    for (var i:Number = 0; i < 3; i++)
    {
        myArray.push(_root.createEmptyMovieClip("name" + i, _root.getNextHighestDepth()));
     // traitement sur myArray[i] (dessins ...)
     trace (myArray);
    }
    J'obtiens comme résultat :

    _level0.name0
    ,_level0.name1
    ,,_level0.name2

    A chaque tour de boucle le movieclip précedemment créer est supprimé et je me retrouve toujours avec le dernier movieclip crée uniquement dans mon tableau.

    J'ai essaye de me passer du tableau et de me servir de la notation _root["name"+i] et les 3 movieclips sont créer mais uniquement le dernier s'affiche et est présent sur la scene.

    Si vous avez une idée.

    Cordialement,

  4. #4
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    il manque la parenthèse fermante de la méthode push.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 11
    Par défaut
    il manque la parenthèse fermante de la méthode push.
    Oui je suis désolé je n'avais pas tester le code que j'ai tapé pour ce post mais dans mon projet toutes les parentheses sont fermées et cela ne change pas le probleme.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 128
    Par défaut
    Essaye ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Creation du tableau
    var myArray:Array = new Array();
     
    for (var i:Number = 0; i < 3; i++)
    {
        myArray.push(_root.createEmptyMovieClip("name" + i, _root.getNextHighestDepth()+i));
     // traitement sur myArray[i] (dessins ...)
     trace (myArray);
    }
    Mais je ne t'assure pas que ça fonctionne!

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 11
    Par défaut
    Ca marche ! Merci beaucoup georges_jung.

    Je ne saisie pas vraiment pourquoi car logiquement les profondeurs sont toutes differentes avec l'appel a getNextHighestDepth donc si je peux comprendre c'est mieux mais autrement je suis content que cela marche !

    Cordialement,

  8. #8
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    la fonction getNextHighestDepth renvoie le prochain niveau de libre,
    par exemple si les niveaux 1 et 2 sont occupé cela renvoie 3.

    donc pas besoins d'ajouter la valeur de i.

    je vois pas d'erreur

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 11
    Par défaut
    la fonction getNextHighestDepth renvoie le prochain niveau de libre,
    par exemple si les niveaux 1 et 2 sont occupé cela renvoie 3.

    donc pas besoins d'ajouter la valeur de i.

    je vois pas d'erreur
    Oui j'aurai tendance a raisonner comme cela également mais preuve est de constater que mon tableau est completement rempli et que les movieclips s'affichent lorsque l'on ajoute i à la profondeur.

    Si quelqu'un connait l'explication je suis preneur mais en attendant ca me permet de progresser.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 128
    Par défaut
    J'ai répondu ça car j'ai déjà eu le même genre de problème...
    C'est vrai que c'est incompréhensible, c'est pas très propre mais ca a le mérite de fonctionner

  11. #11
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    Citation Envoyé par georges_jung Voir le message
    J'ai répondu ça car j'ai déjà eu le même genre de problème...
    C'est vrai que c'est incompréhensible, c'est pas très propre mais ca a le mérite de fonctionner
    c'est vrai, mais ce qu'on apprend vite en programmation :
    ce qui fonctionne n'est pas forcément correct

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 128
    Par défaut
    Je suis totalement d'accord avec toi...
    Cependant, faire du 100% correct avec un langage comme l'AS2 est souvent un exploit tellement ce langage est particulier, permissif...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/03/2015, 18h31
  2. récupérer la memoire et tableau dynamique
    Par Guigui_ dans le forum Langage
    Réponses: 6
    Dernier message: 06/01/2003, 08h02
  3. AFFICHER UN TABLEAU DYNAMIQUE
    Par ghassenus dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2002, 14h19
  4. [Kylix] tableau dynamique
    Par sdoura2 dans le forum EDI
    Réponses: 1
    Dernier message: 31/10/2002, 08h57
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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