Aide SDL en C

Fermé
Banshies Messages postés 13 Date d'inscription dimanche 15 août 2010 Statut Membre Dernière intervention 18 septembre 2010 - 31 août 2010 à 19:30
Banshies Messages postés 13 Date d'inscription dimanche 15 août 2010 Statut Membre Dernière intervention 18 septembre 2010 - 1 sept. 2010 à 08:34
Bonjour,

J'aimerai savoir dans la SDL si lors de la gestion des évènements on peut demander à l'ordinateur d'appuyer une touche par lui même.Par exemple si on dit que l'utilisateur appuie sur escape le programme se ferme,puis plus loin dans le programme demander à l'ordi d'"appuyer lui-même" sur escape.

Et une autre question par rapport aux évènements de la fenêtre (ex : quand la fenêtre est diminuée etc..) est-il possible de garder le gain ? C'est à dire que si je dis que lorsque l'utilisateur appuie sur escape on ferme le programme, si l'utilisateur diminue le programme est-il possible si après il appuie sur escape le programme se ferme?

Merci à tous!!

1 réponse

Thiphariel Messages postés 49 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 31 août 2010 11
Modifié par Thiphariel le 31/08/2010 à 20:12
Euh, pas compris la deuxième partie (Edit : Si finalement je vois ce que tu veux dire, et je ne pense pas que ce soit possible, car quand tu diminue ton programme, il perds le focus), mais pour la première, pour ton event, tu va le gérer via un :

int continuer = 1; 
... 
while (continuer) 
{ 
        SDL_WaitEvent(&event); 
        switch(event.type) 
        { 
            case SDL_KEYDOWN: 
                switch (event.key.keysym.sym) 
                { 
                    case SDLK_ESCAPE: 
                        continuer = 0;    //Si la touche "échap" est pressée, le programme ferme. 
                        break; 
                } 
                break; 
        } 
} 


Donc, si tu veux que l'ordinateur "appuie" sur échap, tu as juste à set ta variable "continuer" à 0.
Si j'ai mal compris, re explique toi ^^'
0
Banshies Messages postés 13 Date d'inscription dimanche 15 août 2010 Statut Membre Dernière intervention 18 septembre 2010
1 sept. 2010 à 08:34
Merci pour tes réponses Thiphariel!! Ma question pour la 1 est ça:
int continuer = 1;
...
while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_KEYDOWN:
switch (event.key.keysym.sym)
{
case SDLK_ESCAPE:
continuer = 0; //Si la touche "échap" est pressée, le programme ferme.
break;
}
break;
}
event..key.keysym.sym = SDLK_ESCAPE; //C'est à dire qu'on marque ça au lieu de mettre "continuer = 0"
}
Je ne sais pas si s'est encore très explicite^^
0