Je n'arrive pas à faire la transition entre ma marche et les animations inactives.Problèmes de transition de l'animation vers la marche inactive
Peut-être qu'il y a une meilleure façon de procéder? Le problème Le problème: Je peux vérifier qu'aucune touche n'est appuyée sur le clavier, mais l'animation de marche n'affiche que la première image et non l'animation complète. La question: Comment puis-je changer cela afin que lorsque l'utilisateur a fini de marcher, il va revenir à l'état "Idle" sans entrer en conflit avec les animations de marche à gauche et à droite.
private void UpdateMovement(KeyboardState aCurrentKeyboardState, GameTime gameTime)
{
timeSinceLastFrame += gameTime.ElapsedGameTime.Milliseconds; //Framerate control
if (timeSinceLastFrame > millisecondsPerFrame) //Framerate control
{
timeSinceLastFrame -= millisecondsPerFrame; //Framerate control
//Idle if no keys are down
if (mCurrentState == State.Idle)
{
Position.Y = 210;
currentImageIndex++;
if (currentImageIndex < 17 || currentImageIndex > 23)
currentImageIndex = 17;
}
//Walk Left
if (aCurrentKeyboardState.IsKeyDown(Keys.Left))
{
mCurrentState = State.Walking;
if (currentImageIndex < 8 || currentImageIndex > 15)
currentImageIndex = 8;
Position.Y = 200;
currentImageIndex++;
Position.X += MOVE_LEFT;
if (currentImageIndex > 15)
currentImageIndex = 8;
}
//Walk Right
if (aCurrentKeyboardState.IsKeyDown(Keys.Right))
{
mCurrentState = State.Walking;
if (currentImageIndex > 7)
currentImageIndex = 0;
Position.Y = 200; ;
currentImageIndex++;
Position.X += MOVE_RIGHT;
if (currentImageIndex > 7)
currentImageIndex = 0;
}
if (aCurrentKeyboardState.IsKeyDown(Keys.None))
mCurrentState = State.Idle;
}
}
Merci beaucoup. Je l'avais déjà fait et enlevé en raison d'un problème de bouclage dans une de mes méthodes d'attaque. Cependant, on m'a rappelé quelque chose que j'avais oublié. Merci encore! –