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 1 & ActionScript 2 Discussion :

[AS2] Récupérer une valeur d'un objet lorqu'on clique dessus


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8
    Points : 6
    Points
    6
    Par défaut [AS2] Récupérer une valeur d'un objet lorqu'on clique dessus
    Bonjour,

    Je cherche une technique pour qu'un objet me fournisse une valeur quand je clique dessus. Pour me faire comprendre j'ai écris une petite classe simple :

    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
     
    class Chose extends MovieClip {
     private var valeur:Number;
     private var clip : MovieClip;
     
     public function Chose(v:Number, mc:MovieClip) {
      valeur = v;
      clip = mc;
     
     }
     
     public function jeClique():Number {
     
       clip.onRelease = function ():Void{
         valeur = 5;
      }
       return valeur;
     }
     
    } // Fin de la classe Chose
    Dans le script .fla il y a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
     attachMovie("ChoseClp", "toto", 1);
     toto._x = 100;
     toto._y = 100;
     var uneChose:Chose = new Chose( 3, toto);
     var val:Number = uneChose.jeClique();
     trace(val);
    Le clip ChoseClp est lexporté pour Flash et associé à la classe Chose.
    Evidement cela ne marche pas ... La fonction retourne la valeur 3, mais ne tient pas compte des clics !!!
    Je me dis qu'il faut peut être mettre un écouteur ... mais je n'ai aucune idéé sur comment le faire, j'ai beau lire et relire la doc ... il y a quelque chose qui m'échappe ...

    Merci pour votre aide ...
    Clochette

  2. #2
    Membre actif Avatar de younes_
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 229
    Points : 265
    Points
    265
    Par défaut
    Salut,

    L'évenement clip.onRelease n'a pas l'accès à la propriété valeur, c'est pour cela que la valeur reste toujours 3. Pour éviter ce problème, il faut utiliser la classe Delegate pour dériver l'évènement onRelease pour qu'il soit dans la portée des propriétés de classe :

    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
     
    import mx.utils.Delegate;
     
    class Chose extends MovieClip {
     private var valeur:Number;
     private var clip : MovieClip;
     
     public function Chose(v:Number, mc:MovieClip) {
      valeur = v;
      clip = mc;
       clip.onRelease = Delegate.create(this,onClipRelease);
     
     }
     
    private function onClipRelease():Void
    {
    valeur = 5;
    }
     
     public function jeClique():Number {
       return valeur;
     }
     
    } // Fin de la classe Chose
    voilà.
    a+

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    J'ai remplacé telle que la classe par le code que tu proposes ....
    Ca ne marche pas !

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/04/2014, 10h47
  2. Récupérer une valeur et l'évaluer en tant qu'objet
    Par Bidouille dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/03/2010, 18h10
  3. [XSL]récupérer une valeur de plusieurs fichiers XML
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 05/02/2006, 00h32
  4. Réponses: 2
    Dernier message: 17/06/2005, 13h38
  5. Réponses: 2
    Dernier message: 11/12/2004, 21h20

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