SDL 2.0 Ключевой Повторник и задержкаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 SDL 2.0 Ключевой Повторник и задержка

Сообщение Anonymous »

У меня проблема с вводом клавиатуры SDL 2.0 в игре, похожей на Pong. Когда я приказываю двигаться влево, нажав стрелку влево, она обрабатывается sdl_pollevents () и правильно отвечает, если клавиша нажимала один раз. Однако, если я сохраняю нажатую клавишу, я получаю короткую задержку (до тех пор, пока задержка повторения клавиши Windows), прежде чем непрерывно перемещаться. < /P>
Вот события обработки функций: < /p>

Код: Выделить всё

void Event::PlayerEvent (Player &player)
{
while (SDL_PollEvent (&mainEvent))
{
switch (mainEvent.type)
{
case SDL_KEYDOWN :
switch (mainEvent.key.keysym.sym)
{
case SDLK_ESCAPE :
gameRunning = false;
break;
case SDLK_LEFT :
player.moving = player.left;
break;
case SDLK_RIGHT :
player.moving = player.right;
}
break;
case SDL_QUIT :
gameRunning = false;
}
}
}
< /code>
Изменить: в конце концов, мне удалось решить эту проблему, позвонив
SystemParametersInfo(SPI_SETKEYBOARDDELAY, 0, 0, 0)
В начале программы и SystemParameterSinfo (SPI_SetKeyBoardDelay, 1, 0, 0) В конце вернуться к стандартной задержке повторения ключей.

Подробнее здесь: https://stackoverflow.com/questions/293 ... -and-delay
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»