Bonjour à tous,
J'ai parcouru les pages du forum, et je ne pense pas avoir vu de sujet qui pourraient m'aider dans mon problème. Aussi je m'excuse si je fais un doublon.
Voilà mon soucis :
Je déplace un clip à l'aide du clavier, pour ca j'utilise bien entendu un écouteur. Et...logiquement, je n'arrive pas à le déplacer en diagonale.
Voici mon code, inclut dans la classe Avatar
Et dans mon scénario principal tout ce qu'il faut.public function Avatar()
{
//création d'un sprite bidon pour mon test
_sprite=new Sprite();
_sprite.graphics.beginFill(0x0000ff,100);
_sprite.graphics.drawCircle(0,0,25);
_sprite.graphics.endFill();
_sprite.x=50;
_sprite.y=100;
//ajout à la liste d'affichage
addChild(_sprite);
//ajout à un écouteur
addEventListener(KeyboardEvent.KEY_DOWN, displacement);
}
public function displacement(evt:KeyboardEvent)
{
switch(evt.keyCode)
{
// déplacement vers la gauche
case Keyboard.LEFT:
_sprite.x-=depx
break;
// déplacement vers le haut
case Keyboard.UP:
_sprite.y-=depy;
break;
// déplacement vers la droite
case Keyboard.RIGHT:
_sprite.x+=depx;
break;
// déplacement vers le bas
case Keyboard.DOWN:
_sprite.y+=depx;
break;
// pas de déplacement
default :
_sprite.x+=0;
}
}
J'ai déjà testé de mettre 2 écouteurs pour le même évènement...de ne pas faire de case et de tester séparément les déplacement x et y, mais je ne trouve pas.
Il s'agit surement d'une petite astuce que je pourrais trouver en cherchant un peu (ou beaucoup), mais comme je ne dispose que d'un mois pour réaliser ce jeu, je préfère vous demander (je laisse ma fierté de coté ).
Merci à tous.
Pimprenelle
Partager