Gostaria de fazer um tiro em primeira pessoa e mover a câmera com o mouse. O problema é que quando o cursor atinge os limites da tela, a câmera não gira mais. Como posso manter o mouse centralizado e detectar seus movimentos de qualquer maneira?
Gostaria de fazer um tiro em primeira pessoa e mover a câmera com o mouse. O problema é que quando o cursor atinge os limites da tela, a câmera não gira mais. Como posso manter o mouse centralizado e detectar seus movimentos de qualquer maneira?
Respostas:
A abordagem geral para lidar com isso na programação clássica do Win32 é capturar o delta do mouse em cada quadro e, em seguida, redefinir a posição do mouse no centro da tela. Você também deseja tornar o cursor do mouse invisível, obviamente, caso contrário, as coisas parecerão feias.
Você pode fazer a mesma coisa no XNA, apenas trabalha com uma interface ligeiramente diferente. Então você pode fazer algo como:
EDIT: Além disso, aqui está um tutorial que descobri através de uma pesquisa no Google por "entrada relativa do mouse XNA" (que é o que você está perguntando). Acho que é um pouco antigo, então alguns dos métodos podem ter seus nomes alterados, mas os conceitos ainda devem ser aplicados.
Edição 2: significava "manipulando isso no Win32" e não "manipulando isso é Win32", atualizado de acordo.