Problème avec KeyboardEvent.
Bonsoir,
Je reviens vers vous sûrement encore avec un problème de débutant mais je n'y peux rien, mes neurones ont du mal à comprendre les subtilités de l'AS3, désolée...
J'aimerais faire avancer un MovieClip (Mouton) à l'aide de quatre touches du clavier (1,2,3 et 4), j'ai essayé avec un if, avec switch case, mais rien ne fonctionne alors si l'un ou l'une d'entre vous pouvait m'éclairer... Merci !
Pour l'instant, je n'ai pas encore implémenté le déplacement avec les touches 1,2,3 et 4 mais même juste comme ça, ça ne fonctionne pas :/
Voilà mon code :
Code:
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| package{
// importation des classes
import flash.display.MovieClip;
import flash.display.Stage;
import flash.events.*;
import flash.display.Stage;
import flash.ui.Keyboard;
// classe principale
public class Mouton extends MovieClip{
// les propriétés
private var st:Stage;
// le constructeur
public function Mouton(s:Stage){
st = s; // mise à jour de la propriété st
this.y = 440;
this.x = 550;
// ajouts des écouteurs de touches
this.addEventListener(KeyboardEvent.KEY_DOWN, bouger);
}
function bouger (evt:KeyboardEvent):void{
switch(evt.keyCode){
// déplacement vers la gauche
case Keyboard.LEFT:
evt.target.x-=5;
break;
// déplacement vers le haut
case Keyboard.UP:
evt.target.y-=5;
break;
// déplacement vers la droite
case Keyboard.RIGHT:
evt.target.x+=5;
break;
//déplacement vers le bas
case Keyboard.DOWN:
evt.target.y+=5;
break;
// pas de déplacement
default :
evt.target.x+=0;
}
}
}
} |
EDIT : je n'ai pas d'erreurs, le mouton s'affiche mais ne se déplace pas.