4
SDL 2.0에서 keydown 이벤트를 폴링하고 키를 누른 채 여러 차례 keydown 이벤트가 발생합니다. SDL 1.2.15를 사용하여 동일한 프로그램을 실행하려고하면 (SDL 1.2.15가 SDL_Window를 지원하지 않으므로 사소한 변경 사항이 있음)이 문제는 발생하지 않습니다. keydown 이벤트는 예상 한 번 발생합니다. 나는 다른 컴퓨터에서 프로그램을 실행하여 컴퓨터 관련 문제가 아닌지 확인하기까지했습니다. 다음과 같이SDL 2.0 키보드 입력 문제
관련 코드는 다음과 같습니다
#include <iostream>
#include <SDL.h>
using namespace std;
SDL_Event event;
SDL_Window* screen = NULL;
int main(int argc, char* args[])
{
if(SDL_Init(SDL_INIT_EVERYTHING) == -1)
{
cout << "ERROR INIT";
return 0;
}
screen = SDL_CreateWindow("My Game Window",
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
640, 480,
SDL_WINDOW_OPENGL);
bool quit = false;
while(!quit)
{
while(SDL_PollEvent(&event))
{
if(event.type == SDL_KEYDOWN)
{
cout << "KEY PRESSED!" << endl;
}
}
}
return 0;
}