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 :

Transmission de variable sur EventListener


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Par défaut Transmission de variable sur EventListener
    Bonjour, je me permets de poster ici car n'ayant pas trouver de réponses sur google concernant mon problème j'espère avoir un peu plus de chances sur ce forum ^^

    Je développe pour le plaisir un petit jeu en 3d iso, la création de la grille se passe sans problème, de même que la mise en place de tules sur la grille.

    Mon soucis se situe plutôt dans le fait de savoir quelle tule a était cliquée... Pour chaque tule, j'ajoute un listener renvoyant sur une fonction générique pour tout les tules et servant juste à me dire quelle tule a était cliquée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if (grille_x.length > 0) {
    	for (var i = 0; i < grille_x.length; i++) {
    			this["tule"+i] = new img0000();
    			addChild(this["tule"+i]);
    			this["tule"+i].x = grille_x[i]-28;
    			this["tule"+i].y = grille_y[i]-16;
    			this["tule"+i].height = 32;
    			this["tule"+i].width = 56; 
    			this["tule"+i].addEventListener(MouseEvent.CLICK, function() {click_tule(i)});
    	}
    	trace("Listener chargé");
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function click_tule(s:Number) {
    	trace("Clic détecté sur : "+s);
    }
    grille_x et grille_y sont des tableaux déjà chargés contenant les positions fixe des tules.

    Quand je clique sur une tule située n'importe où dans l'écran, la console de débug me dit : Clic détecté sur : 536. (A savoir le nombre total de tule affichées...)

    Savez-vous d'où cela peut provenir et comment régler le problème pour obtenir enfin le n° du tule cliqué ?

    Merci d'avance

  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,

    pour faire ce genre de choses, tu ne dois pas gérer l'événement CLICK sur chaque tule (beaucoup trop consommateur) mais plutôt écouter un seul événement CLICK sur le parent des tules puis récupérer la référence du tule par la propriété target :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    addEventListener(MouseEvent.CLICK, handleClick);
     
    if (grille_x.length > 0) {
    	for (var i = 0; i < grille_x.length; i++) {
    			this["tule"+i] = new img0000();
    			addChild(this["tule"+i]);
    			this["tule"+i].x = grille_x[i]-28;
    			this["tule"+i].y = grille_y[i]-16;
    			this["tule"+i].height = 32;
    			this["tule"+i].width = 56; 
    			this["tule"+i].id= "tule"+i; 
    	}
    	trace("Listener chargé");
    }
     
    protected function handleClick(e:MouseEvent):void
    {
         var ref:Object = e.target;
     
         (if (ref is ici_le_type_de_ton_tule) == false)
              return;
     
         trace((ici_le_type_de_ton_tule)ref.id + "cliqué !");
    }

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/03/2007, 20h44
  2. Transmission de variable avec GET et header
    Par spirou dans le forum Langage
    Réponses: 10
    Dernier message: 03/01/2006, 19h04
  3. [FLASH MX] Transmission de variables entre 2 swf
    Par totoche dans le forum Flash
    Réponses: 3
    Dernier message: 12/10/2005, 15h54
  4. transmission de variables
    Par nicerico dans le forum ASP
    Réponses: 14
    Dernier message: 16/08/2004, 16h20
  5. Utilisation d'une variable sur plusieurs unités
    Par Yamaneko dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2003, 11h23

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