Как я могу изменить положение курсора мыши в OpenGL / Glut?
Вопрос
Я пишу простую игру, и я собираюсь использовать мышь для управления камерой (используя GlutPassiveMotionFunc).
Я собираюсь изменять высоту тона и рыскание, основываясь на разнице между обратными вызовами мыши, однако я думаю, что было бы хорошей идеей "принудительно" возвращать мышь обратно в центр экрана каждый раз, когда они пытались ее переместить.Таким образом, их курсор не будет находиться на краю экрана, и они не смогут двигаться дальше в этом направлении.
Какую команду Glut / OpenGL я могу использовать, чтобы принудительно изменить положение мыши?
Решение
Использование glutWarpPointer(x, y)
, где x
и y
(оба int
s) выражены в пикселях (относительно начала координат окна).Например:
glutWarpPointer(windowWidth / 2, windowHeight / 2);
Другие советы
Извините за поздний ответ.Я имел в виду, что после того, как я использую функцию glutWrapPointer, если я распечатываю значения x и y, я не могу уловить изменение курсора, и он всегда выводит значения внутри функции glutWrapPointer, которую я предоставил.Что я сделал, чтобы исправить это, так это переместил эту функцию внутрь функции Animate в OpenGL, и она работала нормально.