Reconhecimento de teclas no SDL
Abril 3, 2008
A primeira coisa que queremos fazer ao começar a programar um jogo é que nosso personagem ande! Para fazer isso é muito simples. Primeiro colocarei o código e depois vou explicar o que “ta pegando”.
void CPersonagem::teclas(SDL_Event evento)
{
switch(evento.type)
{
case SDL_KEYDOWN:
switch(evento.key.keysym.sym)
{
case SDLK_LEFT:
m_andar = true;
m_olhaesq = true;
m_olhadir = false;
break;
case SDLK_RIGHT:
m_andar = true;
m_olhaesq = false;
m_olhadir = true;
break;
}
break;
case SDL_KEYUP:
switch(evento.key.keysym.sym)
{
case SDLK_LEFT:
if(m_vx < 0)
m_vx = 0;
m_andar = false;
break;
case SDLK_RIGHT:
if(m_vx > 0)
m_vx = 0;
m_andar = false;
break;
}
break;
}
} Explicando bem superficialmente, quando você aperta uma tecla, seu computador recebe uma interrupção. O SDL interpreta essa interrupção em “evento.type”, ou seja, “o cara apertou alguma coisa?”. Caso tenha apertado, precisamos reconhecer essa tecla usando “evento.key.keysym.sym”. Depois de saber de que tecla se trata, basta setar algumas flags indicando para que lado o personagem está olhando e se ele deve começar a andar. Caso o usuário solte a tecla, o computador reconhece e você deve voltar as flags aos estados originais. Fácil ^^
Nota: Se você ficar atento, colocarei uma a uma todas as funções necessárias para você criar seu primeiro “jogo” << entre aspas heheheh
Entry Filed under: Sem-categoria. Tags: Programação de jogos, SDL.
Trackback this post | Subscribe to the comments via RSS Feed