Le problème est très simple, et je fais sans doute une énorme bêtise, mais lorsque je tente de déplacer une image (sélectionnée par un clic gauche), pour peu que j'accélère le mouvement de la souris, le pointeur souris quitte l'image, et le déplacement cesse. Il y a un "décrochage".
J'ai testé avec la même image en .jpg et .bmp, même problème. J'ai également testé avec un poll event plutôt qu'un wait event, le problème persiste.
Voici un code compilable qui reproduit l'erreur. Je crois que le problème se trouve entre les lignes 30 et 74, mais je ne vois pas où j'ai fait une bêtise.
Je vois dans ta fonction CardIsSelected que tu fais additionnes l'image selon xrel, yrel.
Même si en théorie l'image devrait suivre, je pense que l'idée est plutôt la suivante :
- quand tu cliques, tu notes la position de la souris dans l'image (par exemple tu as cliqué sur le pixel 12,10 de l'image).
- quand tu déplaces, tu repositionnes l'image selon la position absolue de la souris moins 12,10 (pour l'exemple). Et ainsi tu es sur qu'à chaque nouvelle frame, le curseur est toujours sur 12,10, peu importe comment il a bougé.
Ainsi, au lieu de gérer une accumulation de position relatives, tu gères tout en absolu.
Reste à mettre les contrôles pour vérifier que l'image ne sorte pas de la fenêtre, mais c'est (presque) un détail.
Merci à toi,
Edgar.
- Edité par edgarjacobs 5 septembre 2021 à 20:18:08
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
[sdl2] mouse motion - déplacement d'image
× 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.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent