SDL

Fermé
Yaho - 5 avril 2014 à 14:29
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 5 avril 2014 à 22:24
Bonjour,
Comment fait-on en SDL pour interdire des touches. Je m'expliquer, je voudrais dire par exemple : si l'utlisateur clique sur la touche imprime ecran, rien ne se passe. En gros, comme si l'ordinateur ne s'est apercu de rien quand il a appuyé sur cette touche.

Merci d(avance

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
5 avril 2014 à 20:08
Bonjour,

Cela fait partie du b.a.-ba de la SDL.
Je me permets donc de te donner un petit tuto à la partie qui t'intéresse : http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-c/le-clavier

Cdlt,
0
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
5 avril 2014 à 22:24
Bonsoir
il est préférable pour lui dans ce cas de redéfinir les touches du clavier de façon à ce que son application ignore les commandes clavier du système d'exploitation, je m'explique il faut que ton application s'exécute pour pouvoir faire cela exemple
void fLoop(void){
	static unsigned int iEnd = 0;
	SDL_Event eEvent;
	
	while(iEnd){
		while(SDL_PollEvent(&eEvent)){
			switch(eEvent.type){
			
			case SDL_QUIT:
				bEnd = 0;									
			break;

			//touche enfoncer
			case SDL_KEYDOWN:
			 switch(eEvent.key.keysym.sym){
				 case SDLK_ESCAPE: 
				 	iEnd = false;							
				 break;
				 
				 /* Autre touche a configurer */
				 default: 
				 	printf ("Autre Touche On");		
				 break;
			}
			break;
			// touche relacher
			case SDL_KEYUP:
				switch(eEvent.key.keysym.sym){

					/* pareil a configurer */
					default:
						printf ("Autre Touche Off");
					break;
				}
				break;
				
				default:												
				
				break;
			}//fin du switch
		}//Fin du PoolEvent
	}//Fin de la boucle while
}//Fin de la fonction Loop


à bientôt
0