Bonjour, je fais un jeu en c++ avec la SFML sur Android, mais j'ai un petit souci avec les input, je n'arrive pas à faire un système de touche enfoncée pour le déplacement de mon personnage, voici ma boucle principal:
Parce que le deplacement de ton personnage ne doit pas se faire dans les évènement mais dans ta boucle principale. Si tu appuies sur une touche ou l'écran tu recevras qu'un seul et unique évènement, donc ton processus de déplacement ne peut pas continuer.
J'imagine que un seul appui sur ton écran démarre un mouvement jusqu'à ce que tu relève le doigt. En gros (si on réflechit comme un clavier avec les touches flechées) :
Tu détectes l'appuie d'une touche : tu mets un facteur de deplacement à >= 0.
À chaque tour de boucle tu déplaces ton personnage en fonction de critères (velocité, temps, accéleration, ...).
Tu détectes le lever de touche/doigt : tu remets un facteur de déplacement à 0.
À l'inverse, si tu veux que ton personnage se déplace là où ton doigt est, tu dois simplement affecter la position absolue de l'évènement sur l'écran ajustée à la position de ton entité dans ton application.
- Edité par markand 19 septembre 2022 à 12:03:26
git is great because Linus did it, mercurial is better because he didn't.
Salut, merci pour le coup de pouce, ça fonctionne super bien !
SFML android touch
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
git is great because Linus did it, mercurial is better because he didn't.