0
私は2つの異なるOSを実行する2台のマシンでこれを試しました。同じことがそれらの間で起こります。奇妙なSDLキーボードの問題
#include <iostream>
#include <SDL2/SDL.h>
int main(int argc, char *argv[])
{
bool running = true;
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window* win = SDL_CreateWindow("test", 100, 100, 800, 600,
SDL_WINDOW_SHOWN);
SDL_Renderer* ren = SDL_CreateRenderer(win, -1, 0);
int r = 0;
while(running)
{
SDL_Event event;
SDL_PollEvent(&event);
switch(event.type)
{
case SDL_QUIT:
running = false;
break;
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_d:
r++;
break;
case SDLK_RIGHT:
r++;
break;
}
break;
}
SDL_SetRenderDrawColor(ren, r, 255, 255, 255);
SDL_RenderClear(ren);
SDL_RenderPresent(ren);
}
SDL_DestroyRenderer(ren);
SDL_DestroyWindow(win);
SDL_Quit();
return 0;
}
右矢印キーを押したままにすると、rが急激に増加します。
dを押し続けるとゆっくりと増加します。
なぜですか?