Bonjour, j'essaie de programmer un jeu 2d avec libgdx.

Le joueur controle un vaisseau spatial au clavier (gauche-droite) et chaque mouvement est animé, c'est à dire que lorsque le vaisseau tourne à gauche, droite, ou reste immobile, une animation différente est jouée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 spaceshipAnimation = new Animation(0.025f, spaceshipFrames); <= animation au repos
 spaceshipAnimationLeft = new Animation(0.025f, spaceshipFramesLeft); <= anim tourne à gauche
 spaceshipAnimationRight = new Animation(0.025f, spaceshipFramesRight); <= anim tourne à droite
Malheureusement les animations pour tourner à gauche ou droite ne jouent pas correctement (seule l'image finale de l'animation est affichée directement). Et je ne comprends pas le principe de "getKeyFrame" (la doc de l'api est obscure). Voici la portion de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
if(Gdx.input.isKeyPressed(Keys.LEFT)) { 
		spaceship.x -= spaceshipSpeed * Gdx.graphics.getDeltaTime();		
		spaceshipAnim = spaceshipAnimationLeft.getKeyFrame(stateTimeSpaceship, false);	
	} else if(Gdx.input.isKeyPressed(Keys.RIGHT)) { 
		spaceship.x += spaceshipSpeed * Gdx.graphics.getDeltaTime();
		spaceshipAnim = spaceshipAnimationRight.getKeyFrame(stateTimeSpaceship, false);      
	} else {
		spaceshipAnim = spaceshipAnimation.getKeyFrame(stateTimeSpaceship, true);
	}
L'animation au repos est ok, mais à gauche ou droite, seule la frame finale est affichée (sans passer par l'animation progressive frame par frame).
Est-ce que quelqu'un pourrait m'aider svp ?