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 de Constructeur


Sujet :

ActionScript 3

  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 31
    Par défaut Problème de Constructeur
    Bonjour, je suis dans une impasse, ennuyeuse que voilà :

    J'ai une classe Obstacle qui est valable pour différents types d'obstacles.
    Ex : "barricade".
    Dans les propriétés de barricade, je donne Obstacle en Classe de Base et je laisse Flash générer une classe automatique "barricade", pour l'exportation.
    (Sachant que ma classe Obstacle ne peut pas servir à l'exportation puisqu'elle ne peut pas être liée à plusieurs MovieClip à la fois.)

    Problème => Quand j'instancie un obstacle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var maBarricade:barricade = new barricade();
    Comment faire pour accéder à mon constructeur d'Obstacle et non à celui de la classe barricade (générée automatiquement) ? Ça me paraîtrait aberrant qu'il n'y est pas quelque chose de prévu pour ça. Donc soit il me manque une pièce du puzzle, soit je m'y prend mal.

    N'importe quelle idée, solution, aide, remarque, sera la bienvenue.

    Merci à tous, bonne journée

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    les classes prennent par convention des majuscules (ex: Barricade). Mais ce n'est pas la cause de ton soucis

    La POO voudrais plutôt que tu crées une classe Obstacle générique puis que tu étendes cette classe en créant des sous classes comme Barricade, Montagne, MurDeFeu ou que sais je d'autre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public class Barricade extends Obstacle {}
    public class Montagne extends Obstacle {}
    public class MurDeFeu extends Obstacle {}
    ....
    Ainsi, tu as accès au comportement de base de Obstacle dans tes sous classes Barricade, Montagne, MurDeFeu et tu peux implémenter de nouveau comportement dans ces sous classes comme seBruler() dans la classe MurDeFeu etc...

    En espérant t'avoir aidé

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    Citation Envoyé par NoArgl Voir le message
    Comment faire pour accéder à mon constructeur d'Obstacle et non à celui de la classe barricade (générée automatiquement) ? Ça me paraîtrait aberrant qu'il n'y est pas quelque chose de prévu pour ça.
    c'est le mot clé super
    mais lit et comprend ce que mad a écrit !
    d'ailleurs je te conseille de bien zieuter la partie de la DOC correspondant a la POO

  4. #4
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 31
    Par défaut
    Bonjour !

    Merci beaucoup pour vos réponses.
    ==> Madfrix, j'ai effectivement pensé à faire une classe par type d'obstacle... Mais c'est bête dans mon cas puisque pour 10 de mes obstacles, je n'ai besoin d'aucun comportement spécifique... Seul l'aspect graphique change. Alors être obliger de faire 10 classes inutiles avec du copier coller c'est bizarre comme solution je trouve... Peut être que je suis trop maniaque...? et qu'on ne peut pas toujours optimisé.

    ==> Lorenzo, je ne sais pas où et comment utiliser le mot clef super puisque ma classe est générée automatiquement par flash.

    Enfin, peut être que ce que je veux faire est impossible, mais je trouve ça quand même dingue d'en arriver à copier 10 classes identiques ! Bonjour le moment où je ferais un jeu avec 100 ennemis (encore que là, effectivement, des sous classes seront nécessaires.)

    Merci de votre aide, ça fait plaisir de pouvoir parler de ce problème.

  5. #5
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Tu n'es pas obligé de faire une sous classe qui n'étend rien de la classe parente, à ce moment là, tu utilises directement la classe parente

  6. #6
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 31
    Par défaut
    Ben oui donc on en revient au problème que je ne peux utiliser une seule classe parente pour plusieurs graphiques différents... Tout en utilisant mon constructeur.

Discussions similaires

  1. problème de constructeur avec wxWidget
    Par Ardeciel dans le forum wxWidgets
    Réponses: 2
    Dernier message: 10/03/2007, 23h11
  2. Problème définition constructeur
    Par bugland dans le forum Langage
    Réponses: 11
    Dernier message: 12/02/2007, 14h34
  3. Problème de constructeur de copie ?
    Par Bestiol dans le forum C++
    Réponses: 6
    Dernier message: 03/11/2006, 11h28
  4. [POO]Probléme de constructeur virtuel surchargé
    Par Laurent Dardenne dans le forum Delphi
    Réponses: 10
    Dernier message: 15/08/2006, 12h19
  5. [C#] DLL, problème de constructeur
    Par gmonta dans le forum C#
    Réponses: 4
    Dernier message: 30/11/2005, 09h43

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