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 :

Dessiner sur la scène depuis une classe .as


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2010
    Messages : 42
    Par défaut
    Bonjour,
    j'ai pas mal cherché sur le net mais je reste bloqué sur ce petit problème..
    J'ai créé une carte schématique, avec des clips "ville" et je souhaite tracer, entre ces villes, des tronçons. Cependant, plutôt que de créer un clip "troncon" qui serait trop compliqué à manipuler, j'ai créé une classe Troncon dans un fichier Troncon.as situé dans le même répertoire.
    Bref, dans cette classe, je souhaite créer une méthode "tracerTroncon" qui prend en paramètre deux objets/clips "ville" (pour le début et la fin).

    J'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var tron:Shape = new Shape();
     
    tron.graphics.lineStyle(3,0x000000,1);
    tron.moveTo(ville1.x,ville1.y);
    tron.lineTo(ville2.x,ville2.y);
    stage.addChild(tron);
    Mais ça ne fonctionne pas : il ne reconnaît pas "Shape" ni "Graphics" . J'ai essayé d'importer ces deux classes dans ma classe Troncon, mais ça génère toujours une erreur.

    Pourtant, je sais que le code est valide car quand je le mets dans mon "main" (sur mon Calque "script" dans l'animation), ça fonctionne ..

    Bon, je pourrais très bien créer les tronçons depuis le main à partir des objets de ma classe tronçon, mais je trouverais ça plus propre de le faire dans la classe.
    Soit de les tracer directement depuis la classe, soit de créer un objet Clip et le renvoyer au main ..

    Quelqu'un aurait une idée ?

    L'idéal serait peut être que la méthode renvoie un clip, afin de facilement gérer l'affichage et l'ajout d'écouteurs dessus ..
    je ne sais pas si je suis très clair, mais j'essaie

    En gros, je voudrais que la méthode "tracer" de ma classe Troncon.as crée un clip et éventuellement le dessine directement sur la scène ..

    Merci beaucoup ..

  2. #2
    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
    ta classe doit étendre la classe Shape si tu veux que le dessin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import flash.display.Shape;
    public class MaClasse extends Shape{
    .....

  3. #3
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2010
    Messages : 42
    Par défaut
    Ah yes, merci beaucoup !
    J'avais tenté d'étendre DisplayObject et Graphics, mais ce n'était pas possible. Finalement, ce n'était pas beaucoup plus compliqué ..
    Quoique, je ne sais pas si je pourrai dessiner directement sur la scène, étant donné que "Stage" est une classe héritée de DisplayObject et la doc précise bien:
    Il est impossible d’accéder globalement à l’objet Stage. Vous devez y accéder à l'aide de la propriété stage d'une occurrence d'objet DisplayObject.
    Bon, si j'y arrive je posterai les sources de mes deux versions : une qui renvoie un movie clip, et une qui dessine sur la scène ..
    Mais j'ai réussi à renvoyer un clip qui est géré par mon "main", ça marche bien aussi, et dans un sens, ce n'est pas illogique ..

    Merci beaucoup en tous cas!

  4. #4
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2010
    Messages : 42
    Par défaut
    En fait, cela ne fonctionne pas.. je n'arrive pas à dessiner directement sur la scène depuis ma classe :

    voilà ce que contient ma fonction (dans ma classe qui hérite de Shape). "point_D" et "point_F" sont des occurences d'un meme objet, déjà présentes sur la scène, et utilisées en tant qu'attribut de ma classe (ce qui explique le "this.")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public function tracer():void{
    this.graphics.lineStyle(3,0x000000,1);
    this.graphics.moveTo(this.point_D.x,this.point_D.y);
    this.graphics.lineTon(this.point_F.x,this.point_F.y);
    }
    Mais cela ne trace rien ...

  5. #5
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    erreur de frappe : lineTo et non lineTon

  6. #6
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2010
    Messages : 42
    Par défaut
    Désolé, l'erreur de frappe n'est pas dans le script, je l'ai faite en recopiant ..
    Bon c'est pas grave, je vais sûrement partir sur autre chose de toute façon (même si la question m'intéresse toujours)
    Si j'ai du nouveau, je posterai

Discussions similaires

  1. appel d'un ejb depuis une classe simple sur jonas
    Par mraniy dans le forum JOnAS
    Réponses: 2
    Dernier message: 16/01/2010, 02h48
  2. [MFC]agir sur un control depuis une dll
    Par giova_fr dans le forum MFC
    Réponses: 3
    Dernier message: 01/02/2006, 23h23
  3. Réponses: 14
    Dernier message: 15/12/2005, 18h46
  4. Référence à un objet existant depuis une classe
    Par Adrenalys dans le forum ASP
    Réponses: 2
    Dernier message: 21/07/2005, 00h44
  5. Conseil du compilo sur un destructeur d'une classe
    Par okparanoid dans le forum Langage
    Réponses: 2
    Dernier message: 20/07/2005, 20h11

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