OpenGL/Glut에서 마우스 커서 위치를 어떻게 변경할 수 있나요?
문제
저는 간단한 게임을 작성 중이며 마우스로 카메라를 제어하도록 하겠습니다(GlutPassiveMotionFunc 사용).
콜백 간의 마우스 차이를 기반으로 피치 및 요잉을 수행할 예정이지만 마우스를 이동하려고 할 때마다 마우스를 화면 중앙으로 다시 "강제"하는 것이 좋은 생각이라고 생각합니다.이렇게 하면 커서가 화면 가장자리에 있지 않고 해당 방향으로 더 이상 이동할 수 없습니다.
마우스 위치를 강제로 변경하려면 어떤 Glut/OpenGL 명령을 사용할 수 있습니까?
해결책
사용 glutWarpPointer(x, y)
, 어디 x
그리고 y
(둘 다 int
s)는 픽셀 단위입니다(창의 원점을 기준으로).예를 들어:
glutWarpPointer(windowWidth / 2, windowHeight / 2);
다른 팁
늦은 답변 죄송합니다.내가 의미하는 바는 gluWrapPointer 함수를 사용한 후 x 및 y 값을 인쇄하면 커서의 변경 사항을 포착할 수 없으며 항상 내가 제공한 lutWrapPointer 함수 내부의 값이 인쇄된다는 것입니다.내가 이 문제를 해결하기 위해 한 일은 이 함수를 openGl의 Animate 함수 내부로 옮기는 것이었고 잘 작동했습니다.
제휴하지 않습니다 StackOverflow