Si tu as des difficltés pour ton projet, peut-être qu'il n'est pas de ton niveau. Quelque chose de plus simple pour débuter peut-être une solution.
On sait uniquement qu'il y a des déplacements par case. Quelle type de jeu désire-tu réaliser???
Voici quelles que erreur de conception. La fonction Update prend un sf::Event. Pourquoi???
Donc la fonction Update est appelé uniquement si j'appuie sur une touche( c'est réductif). Hors ta fonction s'occupe de gérer l'animation, et une animation peut se finir sans l'appuie d'une touche. Il faut donc 2 fonctions, une pour traiter les événements, une pour l'évolution de Player.
Aussi un conseil, ce n'est pas à la classe player de gérer les évènements. Mais à Application, qui appellera une fonction, par exemple Player::setAction(const ActionPlayer&)