Avec le if else aussiEnvoyé par Laurent Gomila
![]()
Certes c'est vrai et vu que tu le sais pourquoi ne pas utiliser la bonne fonction tout de suite.Envoyé par disturbedID
Rien à voir et faux. La question est de gérer tous les messages d'un coup avant de gérer le rendu. Il est vrai qu'avec ton if-else tu fais pareil mais c'est moins clair et moins parlant.mouias c'est presque la même chose en fin le while est plus rapide c'est vrai. (H.S c'est vrai qu'en C chaque ouverture d'accolade équivaut à un simili appel de fonction? qui pourrait provoqué une saturation de la pile systeme si on en abuse graaaaaaaaandement ?)
Jc
Par plus rapide je faisait allusion au petit test while(continu) que l'on fait systématiquement après chaque traitement d'évènement. En fin c'est se noyer dans un ver d'eau tous ça. J'ai remplacé le if-else par le whileEnvoyé par fearyourself
J'ai aussi corrigé l'erreur de la lecture du char sa marche nickel.
En fait j'ai bien avancé dans mon prog, quand il sera finnalisé, je mettrais le source si ça interesse quelqu'un, c'est un éditeur de graphe orienté valué. Un truc pas très utile, mais qui comporte des partie intéressante pour quelqu'un qui veut apprendre la SDL.
Oui, l'unicode le gère contrairement à un test direct (if (event.key.keysym.sym == SDLK_lettre) ne gère pas les azerty)
mais l'unicode n'est géré que sur la pression de la touche, pas sur la relache, ce qui rend le tout très chiant à gérer quand on veut faire de la gestion d'E/S sur la duré du genre "tant que j'appui sur la touche, le personnage avance"
* Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
* pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
Mes articles
Ce n'est pas faux, par contre, il me semble que le keycode est toujours donné même en unicode, il suffirait donc de passer les deux et on saurait quelle touche est relâché après...Envoyé par bafman
Jc
utilise SDL_getkeystate alors... il de donne toutes les touches enfoncées au moment d'appel de la fonction et les stocke dans un tableau... après, vérifie que la touche recherchée est bien enfoncée...
fais quand même un SDL_event pour SDL_QUIT...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Uint8 *keystate=SDL_GetKeyState(NULL); if(keystate[SDLK_***]){ ; }
Partager