Почему нам нужно использовать таймер каждый раз, когда мы хотим продолжать движение графики с помощью клавиш со стрелками?
Я хочу построить игру на брекауте. Когда я хочу переместить рамку с помощью клавиши со стрелкой, это не работает. Поэтому я прочитал несколько статей и увидел, что для этого они используют таймер. Можете ли вы дать мне причину, почему они это делают?
2 ответа
Если вы думаете об этом, ответ довольно прост. Когда вы нажимаете и удерживаете клавишу со стрелкой, вам нужно выяснить, насколько далеко лопасть должна двигаться вдоль своей оси X.
Без таймера невозможно контролировать новое смещение n
истекшие секунды
Основная формула физики D = S * T
(Расстояние = Скорость * Время)
Всякий раз, когда мы нажимаем клавишу, таймер может быть запущен, мы затем находим новое расстояние, которое будет добавлено / вычтено к текущей позиции, умножив переменную постоянной скорости на истекшее время.
Это также должно обеспечивать движение жидкости, вместо того, чтобы колебаться на фиксированном расстоянии при каждом нажатии клавиши.
Теоретически есть два подхода:
- Цикл, запрашивающий ввод, цикл рисования анимации
- По таймеру сделать шаг анимации и вызвать перерисовку, а также установить обработчики ввода
Второй подход - это то, что используется в текущих операционных системах, так как он не блокирует, не опрашивает, события не связывают разные системные аспекты. DOS сделал это иначе.
Таким образом, программы следуют более косвенному подходу, основанному на событиях.