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 :

[FLASH MX2004] Classes dans sous-répertoires


Sujet :

Flash

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2003
    Messages : 38
    Points : 32
    Points
    32
    Par défaut [FLASH MX2004] Classes dans sous-répertoires
    J'ai mon .fla dans un répertoire avec toutes mes classes. Je voudrais regrouper mes classes dans différents ss-répertoires ( style package en JAVA ) mais ça ne fonctionne pas. Quelqu'un à une idée ?

    Merci

  2. #2
    Membre confirmé Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Points : 483
    Points
    483
    Par défaut
    hello

    tu fais bien de l'AS2 ? Je pense que c'est le cas
    Technique :
    1 - faire un répertoire que tu appelles classes/ (par exemple) sur ton disque dur où tu le souhaites

    2 - va dans flash

    3 - ouvre le panneau de Edition>>Préférence de flash

    4 - clique sur l'onglet ActionScript (en haut)

    5 - Maintenant il faut cliquer sur le bouton : Paramètre d'ActionScript 2.0

    6 - Tu as normalement par défaut 2 paths pour tes classes :

    $(localdata)/Classes : le répertoire d'installation des classes dans le répertoire d'installation de flashMX2004

    . : le répertoire où se trouve ton fla

    7 - tu vas ajouter une ligne en dessous avec le bouton + (les packages s'ordonnes de bas en haut donc attention à bien mettre ton répertoire perso le plus en bas possible dans la liste)

    8 - tu cherches avec l'icon en forme de cible ton répertoire sur ton disk

    Bilan des courses :
    Tu as créé un répertoire commun pour toutes tes classes dans tous tes projets... si tu mets donc un fichier MaClasse.as à la racine de ce répertoire, dans flash il suffit d'appeler ta classe directement en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var monInstance:MaClasse = new MaClasse ;
    Maintenant si tu veux faire des packages dans des sous répertoire :

    1 - il faut que le fichier est le même nom (exacte à la majuscule près) que le nom de la classe dedans

    2 - si tu mets ton fichier dans un répertoire classes\eka\utils\MaClasse.as il faut absolument que lorsque tu déclares ta classe dans le fichier as tu tapes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    class eka.utils.MaClasse {
     
     
    }
    Il faut bien écrire tout le package quand tu déclares ta classe.


    3 - Dans flash tu appelles maintenant ta classe en tapant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var monInstance = new eka.utils.MaClasse
    4 - Si tu veux te simplifier la vie et ne pas taper à chaque fois le nom du package et bien tu peux utiliser la commande import mais attention à bien comprendre comment il marche

    example 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import eka.utils.MaClasse ;
     
    var monInstance = new MaClasse ;
    Attention au dessus il faut que le import soit déclaré au début de ton code mais dans flash il faut se méfier... pour chaque image clé ou calque ou tu utilises ta classe il faut remettre le import !!

    example 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    import eka.utils.* ;
    var monInstance = new MaClasse ;
    Attention le fait de tape .* ne charge pas toutes les classes se trouvant dans le répertoire eka.utils... seul les classes que tu utilises dans ton code seront chargé lors de la compilation dans ton swf...

    example 3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    import eka.utils.* ;
    import eka.utils.array.* ;
     
    var i1 = new MaClasse ; // eka.utils.MaClasse 
    var i2 = new MaSecondeClasse ; // eka.utils.array.MaSecondeClasse
    Attention quand tu utilises un .* cela ne permet pas d'accéder aux classes dans les sous répertoire du répertoire eka.utils


    Voilà en gros.. mais bon tout cela est déjà expliqué dans l'aide

    EKA+

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 6
    Points : 6
    Points
    6
    Par défaut class actionScript
    Moi aussi je suis issu du monde java, et m'adonne en loisir à faire des sites.

    Je me retrouve donc à faire une classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class Test.Toto {
     
        public function Toto() {
        }
     
        public getString() :String {
          return "null";
        }
     
    }
    Enregistré dans le repertoire "classes/Test" sous "Toto.as"

    et dans le flash, je fais appel dans un script général:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    import Test.Toto;
    var myToto : Toto = new Toto();
    Lorsque je lui demande de compiler, il n'aime pas ma deuxième ligne de code (donc la déclaration de la variable).
    Quelqu'un peut m'aider?
    merci d'avance

  4. #4
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut et bienvenue sur Developpez,

    C'est quoi le message d'erreur ? Ou est ton dossier ? Il est dans le classpath ?

    @++
    Libzippp (C++)
    Lost in AStorm

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    voici le message d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    **Erreur** Séquence = home, calque = actions, image = 1 :Ligne 2 : Impossible de charger la classe ou l'interface 'Test.Toto'.
         var myToto: Toto = new Toto();
     
    Total des erreurs ActionScript : 1 	 Erreurs signalées : 1

    Mon dossier est dans le dossier classes/Test sous le nom Toto.as.
    Mon .fla principale, se situe à la racine.

    Apparement l'import seul ne pose pas de problème, mais dès que je mets la ligne de déclaration de variable, le compilateur ne valide pas cette ligne.

    merci pour l'aide

Discussions similaires

  1. [FLASH MX2004] Problème accent dans un XML
    Par cinetryx dans le forum Flash
    Réponses: 10
    Dernier message: 30/05/2007, 00h26
  2. [FLASH MX2004] écrire dans un XML par PHP
    Par morgiane dans le forum Flash
    Réponses: 2
    Dernier message: 14/11/2006, 11h02
  3. [FLASH MX2004] Affichage dans la zone de travail
    Par morgiane dans le forum Flash
    Réponses: 15
    Dernier message: 09/08/2006, 12h41
  4. [FLASH MX2004] Actions dans un DataGrid
    Par aldo-tlse dans le forum Flash
    Réponses: 3
    Dernier message: 25/11/2005, 12h46
  5. [FLASH MX2004] Test dans une "frame" ?
    Par Invité1 dans le forum Flash
    Réponses: 7
    Dernier message: 26/07/2005, 18h15

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