GoldenCrystalLe 20/05/2010 à 22:01
Bon alors, de toutes façons, c'est pas la bonne manière de faire. (Détail: ça va bloquer tout ton programme, alors que tu veux plus que probablement répondre à d'autres événements et rafraichir l'écran)
Ensuite, si c'était vraiment ce que tu veux faire (mais je t'ais dit que c'est mal !), la fonction que tu recherches est SDL_PumpEvents d'après la doc. (C'est pas marqué clairement mais les exemples de code disent que c'est ça)
Ensuite, la bonne manière de détecter un clic / appui de touche (ou l'inverse) avec du non événementiel, c'est un truc comme ça:
bool key_state; // Défini quelque part
// […]
void machin_truc_chose()
{
bool new_key_state = get_key_state(<key>);
bool key_up = key_state & ~new_key_state;
bool key_down = new_key_state & ~key_state;
bool key_toggled = key_state ^ new_key_state; // key_up | key_down
key_state = new_key_state;
}
Petit bonus pour l'entrée clavier, (left_key_down ^ right_key_down) = déplacement horizontal oui/non.
(PS: Le xor c'est puissant, domage qu'il n'existe pas d'opérateur ^^ en C !)