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

Flash Discussion :

[FLASH 8] Instanciation de classe


Sujet :

Flash

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut [FLASH 8] Instanciation de classe
    Bonjour à tous,

    Je débute dans la POO et j'ai un soucis.
    Le code suivant génère 1 brique sur le SWF et lorsque je clique sur cette brique, je souhaiterais récupérer la valeur de "xPos" par exemple. Mais rien ! Juste "undefined".

    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
    26
    27
    28
     
    // fichier Brique.as
    class Brique extends MovieClip {
    	private var xPos:Number;
    	private var yPos:Number;
    	private var clip:MovieClip;
    	private var reference:Number;
    	private static var profondeur:Number = 0;
     
    	public function Brique(pReference:Number, pXpos:Number, pYpos:Number){
    		clip = _root.attachMovie("brique" + pReference, "bric" + pReference, profondeur, {_x:pXpos, _y:pYpos});
    		reference = pReference;
    		clip.onRelease = clicBrique;
    		xPos = pXpos;
    		yPos = pYpos;
    		profondeur++;
    	}
     
    	 private function clicBrique(){
    		trace(xPos);
    	}
    }
     
    // timeline fichier *.fla
    import Brique;
    var bric1:Brique;
    bric1 = new Brique(2, 50, 100);
    stop();
    Merci d'avance pour votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    Voila la solution à mon problème :
    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
     
    class Brique extends MovieClip {
         private var xPos:Number;
         private var yPos:Number;
         private var clip:MovieClip;
         private var reference:Number;
         private static var profondeur:Number = 0;
     
         public function Brique(pReference:Number, pXpos:Number, pYpos:Number){
              var _this = this;
              clip = _root.attachMovie("brique" + pReference, "bric" + pReference, profondeur, {_x: pXpos, _y: pYpos});
              reference = pReference;
              clip.onRelease = function (){_this.clicBrique()};
              xPos = pXpos;
              yPos = pYpos;
              profondeur++;
         }
     
         private function clicBrique(){
              trace(xPos);
         }
    }
    Le changement : ajout de "var _this = this;" dans le constructeur et appel de la fonction par ce biais !

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

Discussions similaires

  1. [FLASH 8] Instanciation de classe
    Par eroux dans le forum Flash
    Réponses: 4
    Dernier message: 05/01/2007, 22h32
  2. [Débutant(e)]Instancier une classe connaissant son nom (String)
    Par Invité dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 17/06/2005, 11h05
  3. [Débutant(e)]servlet qui instancie une classe personelle
    Par NiBicUs dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 08/02/2005, 12h00
  4. [FLASH MX2004] Heritage de classe
    Par bolo dans le forum Flash
    Réponses: 9
    Dernier message: 05/12/2004, 13h08
  5. [FLASH MX 2004 PRO] Classe et Bouton
    Par dens63 dans le forum Flash
    Réponses: 2
    Dernier message: 08/04/2004, 15h14

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