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] Probleme keyDown


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut [FLASH 8] Probleme keyDown
    Bonjour, je débute en flash et j essaie de faire tourner un cercle à la pression d une touche clavier... le probleme est que la fonction est executée x fois...voici le code placé sur _root

    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
    var acceleration:Number;
    acceleration=1;
    sens=1;
     
    clavierListener= new Object(); 
    Key.addListener(clavierListener);
     
    clavierListener.onKeyDown = function() {
    	switch(Key.getCode()){
    		case 37://LEFT
    		trace("LEFT");
    		circle_mc._rotation+=(1);
    		acceleration+=1;
    		break;
     
    		case 39:
    		trace("RIGHT");
    		circle_mc._rotation-=(1);
    		acceleration+=1;
    		break;
    	}
    	trace("ROTATION: " + circle_mc._rotation);
    }
    la question n est pas de savoir comment faire pour le faire une fois mais plutot pourquoi cela se passe ainsi...merci

  2. #2
    Membre Expert Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Par défaut
    bonjour,
    j'ai un peu du mal à saisir la question et peut être que je ne suis pas le seul.
    Ton code à l'air de très bien fonctionner tu appuis une fois ça tourne une fois et si tu laisses le doigt appuyé ça tourne en continu comme la frappe d'un caractère dans un traitement de texte...
    peux tu préciser ??

  3. #3
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut
    oui effectivement...j avais pas pris le probleme ainsi
    par contre, je pense que le code du comportement du circle devrait etre dans l objet lui même et non pas dans la timeline de root...mais cela dépend de la manière de coder, laquelle est préconisée?

    dans ce cas là vu que le coportement est générique pour cet objet, je le mettrais plus dans l objet lui meme... ai je faux?

  4. #4
    Membre expérimenté Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Par défaut
    Bonjour,

    touche répétitive du clavier, propre à l'OS, cela déclenche une boucle.

    utilse alors deux écouteurs :

    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
     
    t37=false;
    clavierListener= new Object(); 
    clavierListener.onKeyDown = function() {
    if(t37==false
    t37=true
    ..
     
    }
    clavierListener.onKeyUp = function() {
    if(t37==true) {
    t37=false
    ..
     
    }
    Key.addListener(clavierListener);
    bien à toi.

  5. #5
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut
    merci merci
    mais justement ce coup du listener j ai du mal a comprendre car ce code je peux tout à fait le faire avec un onKeypress sur root par exemple, donc je voudrais savoir l interet!
    Ca me derange pas d utiliser une methode du moment que je comprend pourquoi je dois l utiliser.
    En tout cas merci de votre aide, j apprend beaucoup (et je me marre bien aussi)

  6. #6
    Membre Expert Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Par défaut
    Pour l'aspect qualité programmation (orientée objet) je ne suis pas très bien placé pour te répondre. Pour moi un clip est un objet qui possède une méthode "rotation" donc ça ne me choque pas du tout que le code qui utilise cette méthode soit à "l'extérieur" de l'objet.
    Si par contre ton clip est constitué d'un ensemble d'éléments un peu compliqué et que rotation déclenche plein d'actions, à ce moment là il faudrait définir un méthode rotation spécifique. En langage objet je crois qu'on appelle ça une "redéfinition".

  7. #7
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut
    Merci!

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

Discussions similaires

  1. [FLASH MX2004] Problème accent dans un XML
    Par cinetryx dans le forum Flash
    Réponses: 10
    Dernier message: 30/05/2007, 01h26
  2. [FLASH MX] Probleme de scrollbar et texte dynamique
    Par Bisûnûrs dans le forum Flash
    Réponses: 6
    Dernier message: 28/06/2004, 22h12
  3. [Flash MX] Probleme de calques
    Par yonat94 dans le forum Flash
    Réponses: 2
    Dernier message: 28/04/2004, 13h18
  4. [flash MX] probleme avec setinterval et clearinterval
    Par yacinechaouche dans le forum Flash
    Réponses: 3
    Dernier message: 15/04/2004, 13h07
  5. [Flash 5] Probleme de movieclip
    Par WriteLN dans le forum Flash
    Réponses: 9
    Dernier message: 08/10/2003, 15h56

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