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 :

Variable tableau actionscript


Sujet :

ActionScript 3

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Par défaut Variable tableau actionscript
    Bonjour à tous,

    J'ai un probleme que je ne comprends pas. Je cherche à creer un menu en actionscript via un fichier php (dans l'exemple 'menu.txt') qui retourne "&titres=a,b,c"

    Voici mon code as :
    Code ActionScript : 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    var tableauTitres = new Array();
        lv = new LoadVars(); 
        var fichier =  'menu.txt';
        lv.load(fichier);
        lv.onLoad=function(success){
             if(success){
              tableauTitres=this.titres.split(",");
     
             }
        };
    //tableauTitres = new Array('a', 'b' 'c');
     
     
     
    //import des packages de Tween
    import mx.transitions.Tween;
    import mx.transitions.easing.*;
     
    //tableau contenant les titres
     
     
    //variable longueur du tableau
    var nbTitres:Number=tableauTitres.length;
    //
     
    //boucle for : pour chaque titre existant dans le tableau, on crée une copie du bouton
    for(var i:Number=0; i<nbTitres; i++) {
        //duplication du bouton
        duplicateMovieClip(bouton_mc, "bouton"+i+"_mc", i);
        //on les place en Y à partir de 10, tous les 40px
        this["bouton"+i+"_mc"]._y=10+40*i;
        //on remplit le champ texte dynamique
        this["bouton"+i+"_mc"].titre=tableauTitres[i];
        //on définit une tween pour chaque bouton
        //ça évitera de devoir la créer à chaque rollOver / rollOut
        this["bouton"+i+"_mc"].tweenX=new Tween(this["bouton"+i+"_mc"], "_x", Strong.easeOut, this["bouton"+i+"_mc"]._x, this["bouton"+i+"_mc"]._x, 1, false);
        //actions boutons
        this["bouton"+i+"_mc"].onRollOver=function() {
            //on définit la valeur d'arrivée de _x à 50, avec une durée de 10 frames
            this.tweenX.continueTo(50, 10);
        }
        this["bouton"+i+"_mc"].onRollOut=function() {
            //on définit la valeur d'arrivée de _x à 0, avec une durée de 10 frames
            this.tweenX.continueTo(0, 10);
        }
    }

    Et rien ne se passe. En revanche si j'écris directement
    tableauTitres = new Array('a', 'b' 'c');ici en commentaire, cela fonctionne.

    Les variables retournées sont pourtant les mêmes, je ne comprends pas.

    Quelqu'un saurait-il pourquoi cela ne fonctionne pas ?

    Merci d'avance.

  2. #2
    Membre très actif Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Par défaut
    Je ne suis pas pro, mais ce ne serait pas une histoire de variable locale dans la fonction contre variable globale (hors de la fonction) ? A priori je dirais que c'est ça

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Par défaut
    Effectivement ca doit etre le probleme.
    et savez vous comment le resoudre ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Par défaut
    Non c'est une histoire de synchronisation la fonction onload n'est pas immédiate.

    Or toi tu crois que l'execution va se stopper sur le onload, en fait pas du tous du coup ton programme continue avec un tableau vide. puisqu'il n'est toujours pas passé dans le onload.

    Je sais pas si c'est suffisamment clair. Tu peut mettre un trace dans le onload et un autre juste apres la fonction onload. L'execution du code te permettra de comprendre la liste d'execution.

    Sinon tu pourrais écrire plus proprement le bug te sautera au yeux, commence par ne pas déclarer de fonction onload à la volé. Car dans ton code ce type d'écriture n'a aucun intérêt.

Discussions similaires

  1. [Tableaux] récuperer une variable tableau passé par URL
    Par molesqualeux dans le forum Langage
    Réponses: 2
    Dernier message: 23/12/2005, 01h12
  2. variables tableau dans requettes mysql ... et affichage
    Par mulbek dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/10/2005, 16h29
  3. Problème d'initialisation variable tableau
    Par HeZiX dans le forum Langage
    Réponses: 3
    Dernier message: 08/06/2005, 16h30
  4. Acces à une variable-tableau de PHP
    Par Erwan21 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/02/2005, 13h55

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