В настоящее время я пишу версию breakout для быстрого изучения C и OpenGL.
У меня проблемы с перемещением весла. Я установил обратный вызов клавиатуры, чтобы при нажатии стрелки влево он вычитал 1 из значения x на манипуляторе и добавлял 1 к значению x при нажатии стрелки вправо.
Имея это в виду, весло движется невероятно медленно, когда я удерживаю любую клавишу. Я могу изменить это, увеличив значение x, например, до 10. Когда я делаю это, кажется, что ракетка заикается по экрану, потому что она прыгает по 10 раз за раз. Конечно, теперь он движется быстрее по экрану, но не выглядит плавным.
Я использую GLUT для работы с окнами на OSX.
Есть ли способ ускорить это и сохранить гладкость?
glutPostRedisplay()
в обратном вызовеglutKeyboardFunc()
или в обратном вызовеglutIdleFunc()
? - person genpfault   schedule 23.03.2011