Birinci yöntem
Tuşun basıldığı ya da bırakıldığı an ile ilgileniyorsak event kuyruğundan ilgilendiğimiz tipteki event'leri okuyup handle ediyoruz.
SDL_Event e;
while( SDL_PollEvent( &e ) != 0 ) {
if( e.type == SDL_KEYDOWN ) {
switch( e.key.keysym.sym )
{
case SDLK_RIGHT:
std::cout<<"Sağ yön tuşuna basıldı.";
break;
case SDLK_LEFT:
std::cout<<"Sol yön tuşuna basıldı.";
break;
}
}
}
İkinci yöntem
Tuşlarının basılı olup olma durumu ile ilgileniyorsak, klavye tuşlarının durumlarını gösteren bir tablo/veri yapısı var, buradan belirli bir tuşun basılı olup olmadığına bakıyoruz.
const Uint8 *state = SDL_GetKeyboardState(NULL);
if (state[SDL_SCANCODE_RIGHT]) {
std::cout<<"Sağ yön tuşuna basıldı.";
}
if (state[SDL_SCANCODE_LEFT]) {
std::cout<<"Sol yön tuşuna basıldı.";
}
Tuşun basıldığı ya da bırakıldığı an ile ilgileniyorsak event kuyruğundan ilgilendiğimiz tipteki event'leri okuyup handle ediyoruz.
SDL_Event e;
while( SDL_PollEvent( &e ) != 0 ) {
if( e.type == SDL_KEYDOWN ) {
switch( e.key.keysym.sym )
{
case SDLK_RIGHT:
std::cout<<"Sağ yön tuşuna basıldı.";
break;
case SDLK_LEFT:
std::cout<<"Sol yön tuşuna basıldı.";
break;
}
}
}
İkinci yöntem
Tuşlarının basılı olup olma durumu ile ilgileniyorsak, klavye tuşlarının durumlarını gösteren bir tablo/veri yapısı var, buradan belirli bir tuşun basılı olup olmadığına bakıyoruz.
const Uint8 *state = SDL_GetKeyboardState(NULL);
if (state[SDL_SCANCODE_RIGHT]) {
std::cout<<"Sağ yön tuşuna basıldı.";
}
if (state[SDL_SCANCODE_LEFT]) {
std::cout<<"Sol yön tuşuna basıldı.";
}