je code en C depuis un certain temps, et j'en viens maintenant à utiliser la SDL. pour un programme censé m'aider à résoudre plus facilement mais exercices en trigonométrie, j'ai besoin de détecter si l'utilisateur clic sur une zone précise du triangle. Pour l'instant, je me suis occupé que d'un seul cas : s'il clic sur l'angle ABC. mais, même si j'ai vérifié moi même que les coordonnées coïncident, il n'entre pas dans la boucle if...
La gestion des évènements n’est pas correcte : il faut mettre la fonction SDL_PollEvent(&event) à l’intérieur d’un bloc while { } en testant ainsi le retour de la fonction ce qui permet de ne rentrer dans le switch que lorsque il y a eu un événement. Actuellement tu passes en boucle sur la ligne 67 même sans clic car les switchs se font sur l’état du dernier événement.
Ce n'est peut-être pas la meilleure des indentations, mais au moins on y voit clairement les blocs. L'insertion de default: break; dans les swich serait encore un plus.
Et pour ton problème avec change, tu ferais mieux d'utliser stdbool.h (bool change) et les valeurs true et false. Ou alors, les SDL_TRUE et SDL_FALSE et SDL_bool change
- Edité par edgarjacobs 21 juin 2020 à 20:14:09
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Je n'ai pas vu ça plus tot, mais à chaque fois que tu appelles ta fonction, tu charges ton image, et tu ne la libères pas. Ça peut vite saturer la mémoire. Il faut charger les ressources en début de programme, et les libérer en fin de programme (comme tu fais pour police)
- Edité par edgarjacobs 21 juin 2020 à 22:51:01
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Commence par corriger la ligne 53 pour switcher sur l'évènement désiré ...
SDL_PollEvent(&event);
???
edgarjacobs a écrit:
Je n'ai pas vu ça plus tot, mais à chaque fois que tu appelles ta fonction, tu charges ton image, et tu ne la libères pas. Ça peut vite saturer la mémoire. Il faut charger les ressources en début de programme, et les libérer en fin de programme (comme tu fais pour police)
- Edité par edgarjacobs il y a 5 minutes
il faut que je libère le texte et le triangle avant l'appel de la fonction ???
Vous ne pouvez pas comprendre la récursivité sans d’abord avoir compris la récursivité
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
git is great because Linus did it, mercurial is better because he didn't.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent