2011-11-30 3 views
1

Je voudrais générer un SDL_Event mais cela ne semble pas fonctionner. Voici mon code pour générer:Manière correcte de générer un SDL_Event SDLK_LEFT?

Uint8* keys; 

SDL_Event ev; 
ev.type = SDL_KEYDOWN; 
ev.key.state = SDL_PRESSED; 
ev.key.keysym.sym = SDLK_LEFT; 

SDL_PushEvent(&ev); 
keys = SDL_GetKeyState(NULL); 

Plus tard je vérifie si elle est là:

if(keys) 
{ 
    if(keys[SDLK_LEFT]) 
    { 
     //Do something 
    } 
… 

Pourquoi ça ne marche pas? Ai-je besoin d'initialiser autre chose? Ou il là et moyen plus facile de générer un [SDLK_LEFT] Keyboard event? J'ai également essayé keys[SDLK_LEFT] = true; sans succès.

Répondre

0

Je l'ai travaille maintenant avec le code suivant:

keys = SDL_GetKeyState(NULL); 
keys[SDLK_LEFT] = TRUE; 

Après avoir lu les clés je les remis à FALSE

0

essayez ceci:

Uint8 *key = SDL_GetKeyState(NULL); 
    if (key[SDLK_a]) 
     { 
     //Do something; 
     } 
    if (key[SDLK_d]) 
     { 
     //Do something; 
     } 
Questions connexes