내 프로젝트에서 간단한 switch 문을 사용하여 SDL 입력을 처리하는 데 문제가 있습니다. 다음은 그 예입니다.SDL_KEYDOWN 및 키 인식이 제대로 작동하지 않습니다.
SDL_Event event;
SDL_PollEvent(&event);
if (event.type == SDL_KEYDOWN)
{
switch (event.key.keysym.sym)
{
case SDLK_a: m_x -= 30;
break;
case SDLK_d: m_x += 30;
break;
case SDLK_w: m_y -= 30;
break;
case SDLK_s: m_y += 30;
break;
}
}
내가 이것을 실행할 때, 먼저 SDL_KEYDOWN이 인식되지 않는 것 같습니다. 내 경우도 마찬가지다. 나는 기본 케이스를 제거하고 w를 눌러하려고하면 나의 객체 이동 m_y + = 1에 따르면,
SDL_Event event;
SDL_PollEvent(&event);
if (event.type == 771)
{
switch (event.key.keysym.sym)
{
case SDLK_a: m_x -= 30;
break;
case SDLK_d: m_x += 30;
break;
case SDLK_w: m_y -= 30;
break;
case SDLK_s: m_y += 30;
break;
default: m_y += 1;
}
}
이 어떤 키를 내가 보유 할 때 실행하거나 눌러 기본 경우가 발생합니다 그래서에 코드를 전환 , a, s 또는 d의 경우 아무 것도 발생하지 않습니다. 내가 계속 m_y + = 1,하지만 771 대신 SDL_KEYDOWN을 사용하면 아무 일도 일어나지 않습니다. (키를 누를 때마다 event.type을 인쇄하여 771 코드를 얻었습니다.)
# 반드시 SDL.h를 포함 하시겠습니까? – Exceptyon