Hay varias formas de solucionar el problema, pero aquí hay algunas sugerencias:
Verificar si el objeto "player" tiene un componente "Animator" y si la animación "walk" está asignada correctamente en el controlador de animación.
Agregar una condición para que la animación "walk" se active cuando "isMoving" sea verdadero:
Código:
if (isMoving)
{
animator.SetBool("walk", true);
//Mover jugador a destino
player.transform.position = Vector3.MoveTowards(player.transform.position, targetPos, speed);
//el jugador esta en el destino?
if (player.transform.position.x == targetPos.x && player.transform.position.y == targetPos.y)
{
//Si el jugador esta en el destino desactivar isMoving
isMoving = false;
//Desactivar la animación de caminar
animator.SetBool("walk", false);
}
}
Agregar una transición en el controlador de animación de "walk" a otra animación (por ejemplo, "idle") para que la animación se detenga cuando el jugador deje de moverse.
Espero que esto ayude a resolver el problema.