Comment pouvez-vous animer un sprite dans la SFML
Permet de dire que j'ai 4 images, et je veux utiliser ces 4 images pour animer un personnage. Les 4 images représentent le caractère de la marche. Je veux que l'animation se répète aussi longtemps que je appuyer sur la touche pour se déplacer, mais pour arrêter quand je unpress. Il n'a pas besoin d'être SFML si vous ne le connaissez pas, juste de base de la théorie serait vraiment m'aider.
Merci.
OriginalL'auteur DogDog | 2010-04-21
Vous devez vous connecter pour publier un commentaire.
Vous voudrez peut-être une simple machine d'état. Lorsque la touche est enfoncée (voir sf::Input du IsKeyDown méthode), ont le caractère de "l'animation" de l'état. Lorsque la clé n'est pas en panne, ont le caractère de "non animé" à l'état. Bien sûr, vous pouvez toujours sauter à avoir cet "etat", et il suffit de faire ce que je mentionne ci-dessous (selon exactement ce que vous faites).
Ensuite, si le personnage est dans le "animé" à l'état, à la prochaine "image" (voir le paragraphe suivant pour plus de détails). Par exemple, si vous avez vos images stockées dans un simple 4 élément de tableau, l'image suivante serait à
(currentIndex + 1) % ARRAY_SIZE
. En fonction de ce que vous faites, vous pouvez stocker vos images dans une version plus sophistiquée de structure de données. Si le caractère n'est pas dans la partie "animation" de l'état, alors vous ne pas faire la mise à jour ici.Si votre "4 images" sont dans le même fichier image, vous pouvez utiliser la classe sf::Sprite du SetSubRect méthode pour modifier la partie de l'image affichée. Si vous avez 4 images différentes, alors vous avez probablement besoin d'utiliser la classe sf::Sprite du SetImage méthode pour changer les images.
bonjour s'il vous plaît voir ma réponse qui va dans plus de détails que ce mode de réponse
OriginalL'auteur pikejd
Bonjour s'il vous plaît voir ma réponse ici et d'accepter ce poste, comme la meilleure solution.
https://stackoverflow.com/a/52656103/3624674
Vous devez fournir la durée de chaque image et le total des progrès être utilisé à l'étape par le biais de l'image.
Dans l'Animation fichier source ne
Arrêter quand vous unpress, il suffit seulement d'animer lorsque la touche est enfoncée
À l'appui de multiples animations pour les différentes situations ont une valeur booléenne pour chaque état
OriginalL'auteur Maverick