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 :

Arborescence et appel de classe


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Par défaut Arborescence et appel de classe
    Salutation la communaute de developpez.com (desole pour les accents, mon clavier QWERTY n'est pas tres fan). Je profite de ce message pour vous remercier pour les tuto et les FAQ lors de mes longues recherches anonymes devant mon ordi en plein despoirs et la reponses etait souvent sur votre site.

    Desole pour la question, meme si je suis debutant en flash, j'ai un peu honte de la poser, mais je n'ai pas trouve ma reponse. Pourtant, c'est une question tres simple, puisque c'est qu'un appel de fichier.

    Bref, le coeur de probleme:
    Voila, j'ai mon dossier racine de mon projet, que l'on va appeler 'projet'. Dans ce dossier, j'ai un dossier que l'on va appeler 'A'. Dans ce dossier 'A', j'ai ma classe flash A, qui se trouve dans mon fichier A.as. Dans mon dossier projet, j'ai un autre dossier que l'on va appeler B, avec un fichier B.as, qui a la structure de la class B. La classe B utilise un objet de la classe A.

    Si je mets mes deux fichiers dans un meme dossier, je n'ai qu'a mettre 'import A;' dans mon fichier B.as et tout mon projet marche correctement. Mais je suis oblige de faire une arborescence jolie pour ce projet.

    Comment je fais pour que mon import soit correcte quand mes classes ne se trouvent pas dans la dossier (sans lien de parentee) ? Quand je relis ma question, je la trouve vraiment nulle, mais je ne vois pas du tout comment on fait.

    Je vous remercie ...

  2. #2
    Membre actif
    Homme Profil pro
    Directeur technique
    Inscrit en
    Novembre 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 56
    Par défaut
    Si j'ai bien compris la question

    on aurait :
    projet\src\class1
    projet\src\B\class2
    projet\src\B\C\class3

    Dans la class1

    import B.class2;
    import B.C.class3;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Par défaut
    Arff ce que j'ai compris pour ma part c'est :

    /projet/A (répertoire qui contient qui contient class_A.as)
    /projet/B (répertoire qui contient qui contient class_B.as)

    Or la class B veux instancier la class A ?

    import A.class_A;

  4. #4
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Par défaut
    Oui, comme dit Krusti. Enfaite, des que c'est un appel avec une hierarchie montante, je n'y arrive pas ...

    Je mets ma petite explication en ligne pour etre sur d'etre compris: http://dl.free.fr/p4sGBfBD9/projet.rar

    le 'import A.class_A;' ne marche pas, j'ai essaye de le trafiquer dans tous les sens, j'y arrive pas ... Il y a peu etre un probleme de package ? Dois je creer un projet flash pour y arriver ?

    Merci en tout cas pour votre aide ...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Par défaut
    Après différents tests j'ai trouvé et vérifié ça :

    Le fichier de la classe doit être nommé <ClassName.as> et se trouver dans une arborescence <classpath>/com/package/.
    Où <classpath> est le dossier pointé par le classpath reglé dans Fichier > Publication > Onglet Actionscript.


    Donc pour ton projet j'ai réglé le chemin de classe au "dessus" de projet via Fichier > Publication > Onglet Actionscript et c'est le premier changement dans interfaceB.fla donc.

    Ensuite dans classB.as j'ai un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import projet.dossierA.*;
    dans classA.as j'ai une déclaration de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    package projet.dossierA {
    j'ai dégagé la classC qui n'apporte rien à la démonstration.

  6. #6
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Par défaut
    Ca marche. C'est super.

    Merci beaucoup Krusti.

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

Discussions similaires

  1. [Package] Appel à une classe
    Par GLDavid dans le forum Langage
    Réponses: 2
    Dernier message: 15/02/2006, 12h49
  2. Appeler une classe CSS avec Javascript
    Par p0Kep0K dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/02/2006, 14h50
  3. Appeler 2 classes en même temps?
    Par Death83 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/02/2006, 23h38
  4. Réponses: 14
    Dernier message: 15/12/2005, 18h46
  5. [Exception]Connaitre la pile d'appel de classes/méthodes
    Par salome dans le forum Général Java
    Réponses: 2
    Dernier message: 19/03/2005, 20h21

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