многопоточность — обновление игры в C ++ (темы или таймер)?

Недавно я пытался создать Игру сам, и теперь я сталкиваюсь с одним вопросом …
Я хочу рендерить мою Игру со скоростью 60 раз в секунду, и это хорошо, но затем я использую Directinput8 для настройки клавиатуры и мыши, и я отлаживаю свою игру …
Я обнаружил, что моя клавиатура также обновляется 60 раз в секунду. например, я нажимаю «ВВЕРХ», и мое меню сходит с ума! Я знаю, что могу использовать несколько переменных, чтобы исправить это, но я также слышал, что Timer и Threads полезны, могу ли я спросить парня, который когда-то сделал игру, или знает, что мне следует сделать, чтобы дать мне совет? Все будет полезно! Спасибо! 🙂
Кстати, я знаю, что есть какая-то классная библиотека (например, Allegro?), Которая уже готова, может быть, кто-то может сказать мне, как они решили эту проблему «обновления и рендеринга»?

1

Решение

Зачастую в игре существует один поток рендеринга. Он периодически, скажем, каждую секунду, обновляет весь экран, принимая все входные данные, которые у вас есть в данный момент. Входные данные, такие как клавиатура и мышь, вы собираете за пределами этого потока, и этот поток получает их для каждого обновления.

1

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector