2009-04-24 10 views
4

나는 간단한 게임을 쓰고 있는데, 마우스로 카메라를 제어 할 것입니다 (GlutPassiveMotionFunc 사용).OpenGL/Glut에서 마우스 커서의 위치를 ​​어떻게 바꿀 수 있습니까?

콜백 사이의 차이점을 바탕으로 피치를 조절할 수 있지만 마우스를 움직일 때마다 화면 중앙으로 마우스를 강제로 되돌려 놓는 것이 좋습니다. 이렇게하면 커서가 화면 가장자리에 있지 않고 더 이상 그 방향으로 이동할 수 없습니다.

마우스의 위치를 ​​변경하기 위해 어떤 Glut/OpenGL 명령을 사용할 수 있습니까?

답변

10

xy (모두 ints)은 픽셀 단위 (창 출처와 관련 있음)입니다. 예 :

glutWarpPointer(windowWidth/2, windowHeight/2); 
+0

이 솔루션은 glutWarpPointer (x, y)가 마우스 위치를 재설정하기 때문에 나에게 적합하지 않습니다. –

+0

"마우스 위치를 재설정"한다는 것은 무엇을 의미합니까? 그게 뭘 해야하는지 (이 경우 마우스를 재 센터링하기 위해 glutWarpPointer를 호출하기 전에 마우스 위치를 읽는다). 네가하려는 일을 오해하고있는 것일까? – hbw

0

늦게 답변드립니다. 내가 의미했던 것은 glutWrapPointer 함수를 사용하면 x와 y 값을 출력 할 때 커서의 변화를 잡을 수 없었고 항상 제공 한 glutWrapPointer 함수 내부의 값을 출력한다. 내가 수정 한 것은 openGl의 Animate 함수 안에서이 함수를 움직이는 것이 었습니다.

관련 문제