Je vous recommande d'utiliser un moteur ready-made comme OGRE 3D à la place, mais si vous voulez vraiment réinventer la roue, voici comment ...
Dans tous les cas, je suis au courant , Les jeux PC FPS "piègent" le pointeur en enregistrant un rappel de mouvement de la souris, en notant le mouvement relatif, puis en déformant le pointeur au centre de la fenêtre.
est ici un code que j'ai écrit à ajouter l'entrée de la souris sur une table de ping-pong échantillon dans un OpenGL avec C++ cours d'un an ou deux:
void resetPointer() {
glutWarpPointer(TABLE_X/2, TABLE_Y/2);
lastMousePos = TABLE_Y/2;
}
void mouseFunc(int sx, int sy) {
if (!started) { return; }
int vertMotion = lastMousePos - sy;
lastMousePos = sy;
player1.move(vertMotion);
// Keep the pointer from leaving the window.
if (fabs(TABLE_X/2 - sx) > 25 || fabs(TABLE_Y/2 - sy) > 25) {
resetPointer();
}
}
// This goes in with your "start new game" code if you want a menu
resetPointer();
glutSetCursor(GLUT_CURSOR_NONE);
glutPassiveMotionFunc(mouseFunc);
Il ne suit que le mouvement vertical, mais en ajoutant horizontal est trivial .
Drôle de titre ... hehehe ... –
Utilisez un piège à souris. Duh. – BoltClock
@BoltClock: Ne pas oublier le fromage. –