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 :

AS3 - addEventListener sur drawrRect


Sujet :

ActionScript 3

  1. #1
    Membre habitué

    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 162
    Points : 179
    Points
    179
    Par défaut AS3 - addEventListener sur drawrRect
    Bonjour

    Voilà rapidement mon problème

    J'utilise une classe principale, laquelle fait appel à plusieurs autres classes.

    L'une d'entre elle permet de créer des éléments graphique comme par exemple des rectangles par le biais de graphics.drawRect.

    Sur chaque rectangle créé je souhaite détecté les événements de la souris.

    Bien j'ai donc déclaré un objet sprite, puis un objet shape et j'obtiens 4 rectangles en appelant 4 fois la classe qui me permet de créer un rectangle unique par le biais de paramètres.

    Premièrement je ne comprend pas pourquoi je n'arrive pas à utiliser mon addEventListener sur l'objet shape, ça ne marche que sur l'objet sprite.

    Et bien que cela marche avec l'objet sprite, j'aimerais pouvoir identifier sur quel rectangle j'ai cliquer.
    Mais impossible si j'essai de récupérer le nom du sprite j'obtiens toujours instance7, quelque soit le rectangle sur lequel je clic.

    Pouvez vous m'expliquer les raisons ?

    merci.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 579
    Points
    218 579
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Utilisez vous une bibliothèque, ou purement Flash ?
    Shape et Sprite, ce sont vos classes, ou les classes Flash (ou de la bibliothèque).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre habitué

    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 162
    Points : 179
    Points
    179
    Par défaut
    J'utilise des Packages

    import flash.geom.*
    import flash.display.*

    import flash.ui.Mouse;
    import flash.events.MouseEvent;
    import flash.events.Event;

    J'ai donc également

    un fichier Main.as avec la classe

    public class Main extends MovieClip

    un fichier Geo.as

    public class Geo extends Sprite

    ou j'ai déclaré les variables suivantes :

    private static var _Stage:Stage;
    private static var _Container:Sprite = new Sprite();
    private var _Forme:Shape = new Shape();

    J'affecte mes paramètres à mon objet _Forme et puis :

    Stage.addChild(_Container);
    Container.addChild(_Forme);
    Container.addEventListener(MouseEvent.CLICK, SOU_DOW);

    tout cela à partir de la fonction suivante appelée 4 fois dans mon dev et ou les paramètres de mes rectangles sont transmises par le biais de la classe Main

    public function CRE_REC(_Schema:Array, _Donnees:Array):void

    et c'est à partir de la fonction SOU_DOW que j'essai de récupérer le nom ou un identifiant de l'objet sur lequel j'ai cliquer.

  4. #4
    Membre habitué

    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 162
    Points : 179
    Points
    179
    Par défaut
    Donc pour information il ne faut pas utilisé l'option static à la déclaration des objets sinon cela ne crée qu'une occurrence de chaque objet:

    En déclarant ainsi j'ai solutionné le problème.

    //Déclaration du Sprite conteneur
    private var _Container:Sprite = new Sprite();

    // Déclaration d'une forme
    private var _Forme:Shape = new Shape();

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

Discussions similaires

  1. AS3 - addEventListener sur drawrRect
    Par Coocky10 dans le forum Flash
    Réponses: 0
    Dernier message: 27/06/2013, 23h17
  2. addEventListener sur objet créé dynamiquement
    Par Jim_Nastiq dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/10/2009, 16h20
  3. probleme de addEventListener sur sprite
    Par cowboydeluxe dans le forum Flash
    Réponses: 1
    Dernier message: 27/04/2009, 17h52
  4. [AS3] Click sur un bitmap
    Par Sourrisseau dans le forum ActionScript 3
    Réponses: 4
    Dernier message: 26/12/2008, 09h18
  5. [AS3] Entier sur 64 bits
    Par Reeter dans le forum Flex
    Réponses: 2
    Dernier message: 23/08/2008, 07h32

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