OpenGL/Glut에서 마우스 커서 위치를 어떻게 변경할 수 있나요?

StackOverflow https://stackoverflow.com/questions/784322

  •  16-09-2019
  •  | 
  •  

문제

저는 간단한 게임을 작성 중이며 마우스로 카메라를 제어하도록 하겠습니다(GlutPassiveMotionFunc 사용).

콜백 간의 마우스 차이를 기반으로 피치 및 요잉을 수행할 예정이지만 마우스를 이동하려고 할 때마다 마우스를 화면 중앙으로 다시 "강제"하는 것이 좋은 생각이라고 생각합니다.이렇게 하면 커서가 화면 가장자리에 있지 않고 해당 방향으로 더 이상 이동할 수 없습니다.

마우스 위치를 강제로 변경하려면 어떤 Glut/OpenGL 명령을 사용할 수 있습니까?

도움이 되었습니까?

해결책

사용 glutWarpPointer(x, y), 어디 x 그리고 y (둘 다 ints)는 픽셀 단위입니다(창의 원점을 기준으로).예를 들어:

glutWarpPointer(windowWidth / 2, windowHeight / 2);

다른 팁

늦은 답변 죄송합니다.내가 의미하는 바는 gluWrapPointer 함수를 사용한 후 x 및 y 값을 인쇄하면 커서의 변경 사항을 포착할 수 없으며 항상 내가 제공한 lutWrapPointer 함수 내부의 값이 인쇄된다는 것입니다.내가 이 문제를 해결하기 위해 한 일은 이 함수를 openGl의 Animate 함수 내부로 옮기는 것이었고 잘 작동했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top