action lorsqu'on relacher une touche?

action lorsqu'on relacher une touche? - Flash/ActionScript - Programmation

Marsh Posté le 20-01-2006 à 17:16:10    

bonjour,
En fait voila mon problème: J'ai le code suivant

Code :
  1. on (keyPress "<Right>" ){
  2. _root.guss.vitx=1;
  3. }


Et je voudrait que lorsque je relache la touche "right", vitx=0.
Est-ce que quelqu'un peut m'aider.
PS: j'ai aussi pensé à une fonction conditionnel avec "if(condition)" mais je n'ai pas trouvé le code qu'il fallait mettre comme condition.

Reply

Marsh Posté le 20-01-2006 à 17:16:10   

Reply

Marsh Posté le 20-01-2006 à 17:18:22    

L'inverse de Keypress est certainement Release, cherche dans la doc si ca existe bien

Reply

Marsh Posté le 20-01-2006 à 17:20:45    

j'ai oublié de dire que j'ai aussi essayer keyrelease et que ca me mettait commande inconnue

Reply

Marsh Posté le 20-01-2006 à 17:24:16    

Il faut que tu crée un "listener" et que tu utilise keyUp et KeyDown...

Code :
  1. var keyListener:Object = new Object();
  2. keyListener.onKeyDown = function() {
  3.     trace("DOWN -> Code: "+Key.getCode()+"\tACSII: "+Key.getAscii()+"\tKey: "+chr(Key.getAscii()));
  4. };
  5. keyListener.onKeyUp = function() {
  6.     trace("UP -> Code: "+Key.getCode()+"\tACSII: "+Key.getAscii()+"\tKey: "+chr(Key.getAscii()));
  7. };
  8. Key.addListener(keyListener);


source: http://livedocs.macromedia.com/fla [...] 02313.html


---------------
D3
Reply

Marsh Posté le 20-01-2006 à 17:25:12    

j'ai parlé de release, pas Keyrelease

Reply

Marsh Posté le 20-01-2006 à 17:31:45    

Merci pour ton aide.
Mais je comprend pas comment utiliser ce code  :D peux tu me dire où mettre "Right" (ma touche) ainsi que le code pour quand la touche et enfoncé et relaché???


Message édité par elephant13 le 20-01-2006 à 17:32:37
Reply

Marsh Posté le 20-01-2006 à 17:36:21    

http://www.yazo.net pour apprendre l'actionscript
je tai deja donné 90% du code (avec la (les) source(s) d'info ou tu trouveras les 10% qui te font encore defaut)
aide toi, le ciel t'aideras  :hello:


---------------
D3
Reply

Marsh Posté le 20-01-2006 à 17:47:10    

J'ai un peu beaucoup de mal :(

Reply

Marsh Posté le 20-01-2006 à 18:13:44    

:pfff:  

Code :
  1. switch(Key.getCode()) {
  2.   case "un nombre que tu auras trouvé tous seul comme un grand":
  3.   //fait un truc
  4.   break;
  5.   case "un autre nombre que tu auras trouvé tous seul comme un grand":
  6.   //fait un autre truc
  7.   break;
  8. }


si tu comprends pas ou coller ce bout de code ni a quoi il sert  :(


---------------
D3
Reply

Marsh Posté le 20-01-2006 à 18:24:40    

Je croit avoir capté le code mais je n'ai pas le temps de le tester tout de suite. Je te dirais demain ce qu'il en est.

Reply

Marsh Posté le 20-01-2006 à 18:24:40   

Reply

Marsh Posté le 20-01-2006 à 19:14:02    

Alors voila, en cherchant un peu dans l'aide des infos sur les codes que tu m'as donnés j'ai créé celui ci. Je ne sait pas si il est tres esthtétique mais d'après ce que j'ai vu il fonctionne.

Code :
  1. onClipEvent (enterFrame){
  2. if(Key.isDown(Key.RIGHT)){
  3. _root.guss.vitx=1;
  4. }else
  5. _root.guss.vitx=0;
  6. }


Qu'en penses tu??


Message édité par elephant13 le 20-01-2006 à 19:15:51
Reply

Marsh Posté le 20-01-2006 à 19:22:23    

ca doit marche mais la solution que je te donne (certe en 2 parties plus un petit peu d'impro) est plus propre, car n'utilise pas un evenement enterFrame consommateur de resource...
de plus avec ma soluce tu peux facilement gerer d'autres touches (sufit de rajouter des case "numero de la touche": )


---------------
D3
Reply

Marsh Posté le 20-01-2006 à 20:09:26    

ok mais je peux mettre un numeros de touche a la place de "Key.RIGHT", non?
Et puis de toute facon je comprend pas du tout ton premier code en particlier cette ligne:

Code :
  1. trace("DOWN -> Code: "+Key.getCode()+"\tACSII: "+Key.getAscii()+"\tKey: "+chr(Key.getAscii()));};


Mais si  c'est juste un probleme de consommation de ressource, je peux continuer et je me repencherais sur le problème peut etre plus tard

Reply

Marsh Posté le 20-01-2006 à 20:16:42    

tu as essayé ce code ?
trace() est la fonction la plus importante si tu veux apprendre l'actionscript
elle sert à afficher des infos dans la fenetre de sortie de Flash et est tres utile pour debuger un programme (ou pour connaitre des numeros de touches) mais bon...
 
sino  :heink: oui ca marche mais tous depend si tu veux prendre des bonne habitudes ou non...


---------------
D3
Reply

Marsh Posté le 20-01-2006 à 20:17:03    

tu as essayé ce code ?
trace() est la fonction la plus importante si tu veux apprendre l'actionscript
elle sert à afficher des infos dans la fenetre de sortie de Flash et est tres utile pour debuger un programme (ou pour connaitre des numeros de touches) mais bon...
 
sinon oui ca marche mais tous depend si tu veux prendre des bonne habitudes ou non...


---------------
D3
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed