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 :

Problème avec Variable globale


Sujet :

ActionScript 3

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut Problème avec Variable globale
    Bonjour, je suis un novice en as3 et en as également dailleurs.
    J'ai lu ci et la comment déclarer des variables globale Mais voila quand je compile j'ai un message d'erreur : "variable could not be found"

    -------------------------------------------------------------------
    J'ai enregistrer un fichier "testas.as" avec ma classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    package testas{
     
    public class MyGlobal {
     
    public static var ik:int;
    ik=12;
    }
     
    }
    ----------------------------------------------------------------
    Je voudrais pouvoir récupérer cette variable ik dans tous mes éléments de mon fla principale.

    dans mon fla sur la premiere image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import flash.display.*;import flash.media.SoundMixer;
    import flash.media.Sound;import flash.media.SoundChannel;
    import flash.events.*; import flash.events.MouseEvent;
    import flash.geom.Rectangle;import flash.net.*;
     
    import testas;
    import testas.MyGlobal;
    et là le message d'erreur : Definition testas:MyGlobal could not be found

    Merci d'avance de m'aider car ne pas arriver une chose qui paraît si facile est navrant.

  2. #2
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    En concept objet il existe pas de variable Global, inutile.

    Les variable static ( qui sont une bonne alternative au Global ) signifie que tout les objet de la class auront la meme variable , c'est a dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class A{
          public static var nombre:int=0;
    }
    //----:~
    var a = new A();
    var b = new B();
    b.nombre = 10;
    trace(a.nombre); //10
    trace(A.nombre); //10
    Une fonction static permet d'utiliser une fonction de class sans l'instancier exemple : Parser.Parse(xml); ce qui est plutot utile..

    -----

    Ici ton probleme viens des imports :

    On importe que des class. importer permet de créer des objet de la class et manipuler cette derniere.

    import testas; ici tu import un package donc sa sert a rien...

    pour importer toute les class d'un package :

    import testas.MyGlobal; ici c'est correct , le message d'erreur t'indique qu'il a pas trouvé la class...

    Ceci signifie qu'au dossier racine ( là ou il y a ton fla ) tu dois avoir un dossier "testas" avec dedans ta class et que le dossier ou le fichier de la class n'existe pas.

    Au debut sa parait bizarre l'as3 si tu viens de l'as2 mais quand tu aura bien compris les concept c'est que du bonheur

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    Merci de la réponse j'essaie de résoudre mon problème avec tes indications et si ma tête bouillonne je crierais à l'aide

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    Bon je n'y arrive toujours pas ...

    voici mon fichier testas.as rangé dans un dossier "testas" au même endroit que le fla.

    -----------testas/testas.as------------------------------

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    package {
     
    public class MyGlobal {
     
    public static var ik:int;
     
    }
     
    }
    --------------------------mon fla---------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import testas.testas;
    var a = new MyGlobal();
    a.ik=12;
    et maintenant il a l'air de trouver mon .as mais l'erreur change en :

    call to a possibly undefined method MyGlobal.


    Merci de m'aider

  5. #5
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import testas.MyGlobal; //erreur ici ;)
     
    var a:MyGlogal = new MyGlobal(); //oublie pas de typer tes variables ! :)
     
    a.ik=12;
    Comme c'est static tu peux meme faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import testas.MyGlobal; //erreur ici ;)
     
    MyGlobal.ik = 12;
    Enfin derniere erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //Elle a plus de package ? Il faut donc la mettre a la racine du site... et faire
    //import MyGlobal;
    // ou sinon package testas{
    package { 
     
    public class MyGlobal {
     
    public static var ik:int;
     
    }
     
    }

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    Merci de ton aide précieuse mais je suis dans le flou.

    Est-ce que le nom de mon fichier .as est important ? Dois-je le spécifier dans le .fla ?

    sinon re-voici mon testas.as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    package testas{
     
    public class MyGlobal {
     
    public static var ik:int;
     
    }
     
    }

    et mon fla

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import testas.*;
    var a:MyGlobal = new MyGlobal();
    a.ik=12;
    et là 2 nouvelles erreurs :

    1)Type was not found or was not a compile-time constant:MyGlobal
    2)Call to a possibly undefined method MyGlobal

    Ayez pitié d'un homme qui va bientôt craquer.

  7. #7
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    l'erreur vient juste du nommage de ton fichier qui contient la classe, il doit s'appeller MyGlobal.as
    et doit être placé dans un répertoire testas correspondant au nom du package mais ca tu l'as bien fait

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    C'est bon j'ai réussi j'ai enregistré mon .as en MyGlobal.as dans le dossier testas
    et
    avec comme import :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import testas.MyGlobal;
    Merci beaucoup pour cet aide

    On peut considérer ce sujet résolu je ne sais pas si c'est à moi de le mettre

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    ah j'avais pas vu la réponse qui dit exactement ce que je voulais dire

    merci pour tout.

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

Discussions similaires

  1. problème avec variables globales
    Par johnburton54 dans le forum VBA Access
    Réponses: 5
    Dernier message: 12/06/2007, 09h20
  2. Réponses: 4
    Dernier message: 04/02/2007, 19h39
  3. Problème de variable globale
    Par Tournevyks dans le forum Général Python
    Réponses: 6
    Dernier message: 29/06/2006, 11h16
  4. [Système] Problème avec variables
    Par marie4449 dans le forum Langage
    Réponses: 3
    Dernier message: 22/05/2006, 19h42
  5. Cacher Variable Url avec Variable Globale
    Par danuz dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/09/2003, 17h20

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