Déplacement d’un visuel avec les flèches du clavier

Déplacer un dessin avec les flèches du clavier en ActionScript 3 (AS3)

Nous allons utiliser pour gérer le déplacement d’un objet, la classe KeyboardEvent. Nous verrons ici l’événement keyDown (l’appui sur une touche).
Dans la fonction qui sera exécutée en réponse de l’événement, nous allons tester le code de la touche du clavier afin de définir les différentes interactions à réaliser.


[as] // Objet de dessin
var rectangle:Sprite = new Sprite();
// Remplissage du rectangle avec du bleu
rectangle.graphics.beginFill(0x0000FF);
// Dessin du rectangle
rectangle.graphics.drawRect(50, 200, 100, 30);
// Déplacement du rectangle à la souris
function deplacement(evt:KeyboardEvent):void
{
// Test de la touche utilisée
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;
}
}
// Affichage du rectangle
this.addChild(rectangle);
// Focus sur le rectangle pour qu’il puisse être actif
stage.stageFocusRect = false; // Le rectangle jaune du focus est supprimé pour tous les objets
stage.focus = rectangle;
// Ecouteur de l’événement keyDown sur le rectangle
rectangle.addEventListener(KeyboardEvent.KEY_DOWN, deplacement);[/as]
;)