Me gustaría hacer un First Person Shooter y mover la cámara con el mouse. El problema es que cuando el cursor alcanza los límites de la pantalla, la cámara ya no gira. ¿Cómo puedo mantener el mouse centrado y detectar sus movimientos de todos modos?
Me gustaría hacer un First Person Shooter y mover la cámara con el mouse. El problema es que cuando el cursor alcanza los límites de la pantalla, la cámara ya no gira. ¿Cómo puedo mantener el mouse centrado y detectar sus movimientos de todos modos?
Respuestas:
El enfoque general para manejar esto en la programación clásica de Win32 es capturar el delta del mouse en cada cuadro y luego restablecer la posición del mouse al centro de la pantalla. También debes hacer que el cursor del mouse sea invisible, obviamente, ya que de lo contrario las cosas se ven feas.
Puedes hacer lo mismo en XNA, solo trabajas con una interfaz ligeramente diferente. Entonces podrías hacer algo como:
EDITAR: también, aquí hay un tutorial que desenterré a través de una búsqueda en Google de "entrada relativa del mouse XNA" (que es lo que estás preguntando). Creo que es un poco viejo, por lo que algunos de los métodos pueden haber cambiado sus nombres, pero los conceptos aún deberían aplicarse.
EDIT 2: significaba "manejar esto en Win32" y no "manejar esto es Win32", actualizado en consecuencia.