0
私はSDLで少し問題があります: 私のプログラム(Archlinux 64bit)を起動すると、SDL_eventは私にSDL_KEYDOWNイベントを与えます。その厄介なことは、私のプログラムがESCAPEを押すと終了するということです。起動時にSDL入力が "fake-Events"を返します
void Input::update() {
[...]
while(SDL_PollEvent(event)) {
if (event != NULL) {
handleInput();
}
}
// SDL_PumpEvents(); Commented out, because of jrok's suggestion.
SDL_GetMouseState(&mousex, &mousey);
}
そして:コード厥
void Input::handleInput() {
switch(event->type) {
case SDL_KEYDOWN:
setKey(event->key, true);
break;
case SDL_KEYUP:
setKey(event->key, false);
break;
case SDL_QUIT:
setQuit();
break;
default:
break;
}
}
SETKEY()は、所定の値(真/偽)にブール配列の要素を設定します。
また、エスケープキーだけでなく、多くの場合、他のキーも押されています。
は、 ')(' SDL_PumpEventsをコメントアウトしてみてください:だからがあったランダムな値が助け
は...左。 'SDL_PollEvent()'によって暗黙に呼び出されているので、あなたはそれが必要ではないと思います。 – jrok