¿Cómo puedo cambiar la posición del cursor del ratón en OpenGL / GLUT?
Pregunta
Estoy escribiendo un juego simple y voy a tener el control del ratón de la cámara (usando GlutPassiveMotionFunc).
Voy a cabeceo y guiñada con sede fuera de la diferencia entre el ratón devoluciones de llamada, sin embargo, creo que sería una buena idea para "forzar" el ratón de nuevo al centro de la pantalla cada vez que intentaron moverlo. De esta manera el cursor no estará en el borde de la pantalla y no se puede mover más en esa dirección.
¿Qué comando de Glut / OpenGL puedo utilizar para forzar la posición del ratón para cambiar?
Solución
Uso glutWarpPointer(x, y)
, donde x
y y
(ambos int
s) son en píxeles (en relación con el origen de la ventana). Por ejemplo:
glutWarpPointer(windowWidth / 2, windowHeight / 2);
Otros consejos
Lo siento por el retraso en la respuesta. Lo que quería decir era que después de utilizar la función glutWrapPointer, si imprimir los valores x e y, que no podía coger el cambio en el cursor y siempre imprime los valores dentro de la función glutWrapPointer que he proporcionado. Lo que hice para solucionarlo fue trasladar esta función dentro de la función de OpenGL Animate y funcionó bien.