Como posso alterar a posição do cursor do mouse em OpenGL / Glut?
Pergunta
Eu estou escrevendo um jogo simples e eu vou ter o controle do mouse a câmera (usando GlutPassiveMotionFunc).
Vou arremesso e guinada baseado fora a diferença rato entre retornos de chamada, no entanto eu acho que seria uma boa idéia para "forçar" o mouse de volta para o centro da tela cada vez que tentou movê-lo. Desta forma, o seu cursor não estará na borda da tela e eles não podem se mover mais longe nessa direção.
comando que Glut / OpenGL posso usar para forçar a posição do mouse para mudar?
Solução
Use glutWarpPointer(x, y)
, onde x
e y
(ambos int
s) estão em pixels (em relação à origem da janela). Por exemplo:
glutWarpPointer(windowWidth / 2, windowHeight / 2);
Outras dicas
Desculpe pela resposta tardia. O que eu quis dizer foi que depois que eu usar a função glutWrapPointer, se eu imprimir a valores xey, eu não poderia pegar a mudança no cursor e ele sempre imprime os valores dentro da função glutWrapPointer que eu forneci. O que eu fiz para corrigi-lo foi para mover esta função dentro da função Animate do OpenGL e funcionou muito bem.