я кодирование меню и использовать keyState[SDL_SCANCODE_KEY]
для обнаружения при нажатии клавиши в цикле, как это:Сделать KeyState огня только огнь, как только
if (Button1 && keyState[SDL_SCANCODE_DOWN])
{
Button1 = false;
Button2 = true;
}
else if (Button2 && keyState[SDL_SCANCODE_DOWN])
{
Button2 = false;
Button3 = true;
}
else if (button3 && keyState[SDL_SCANCODE_DOWN])
{
//and so on
}
Проблема с этой установкой, однако, что, когда пользователь нажимает нажатие клавиши keystate срабатывает несколько раз, сохраняя условия, при которых кнопка 2 переключается на кнопку 3, и так далее. Итак, как мне сделать огонь keystate только один раз или, по крайней мере, решить эту проблему? Благодарю.
Я считаю, что это связано с прошивкой, и вы получаете ключи от клавиатуры. правильно? – Sean83
@ Sean83 да, я получаю ключи от клавиатуры. –
@StackOverflow неясно, чего вы хотите достичь. Если вы хотите, чтобы пользователь отпустил кнопку, прежде чем снова реагировать на нее, вы, вероятно, захотите использовать события keydown/keyup вместо keystate (имейте в виду, что ключевое событие повторяется, но у него есть флаг bool, чтобы выяснить, является ли он реальным или повторяется). – keltar