1
내 마우스가 화면에있는 동안 화면이 더 이상 회전하지 않습니다. 응용 프로그램이 더 이상 활성화되지 않은 경우에만. 나는이 워프 포인터를 가지고가는 경우에응용 프로그램이 활성화되어있는 동안 glutWarpPointer가 작동하지 않습니다.
후 다시 작업을 시작합니다
(http://youtu.be/h5Sg3nQoWKs 일어나는 것은 뭐죠 비디오를 표시합니다).
mouse.x = x;
mouse.y = y;
if (x > screen.x/2)
{
player.angle -= 0.05f;
player.lx = sin(player.angle);
player.lz = -cos(player.angle);
glutWarpPointer(screen.x/2,screen.y/2);
}
else if (x < screen.x/2)
{
player.angle += 0.05f;
//if (player.vertAngle < 0)
//player.vertAngle = 0;
player.lx = sin(player.angle);
player.lz = -cos(player.angle);
glutWarpPointer(screen.x/2,screen.y/2);
}
if (y < screen.y/2)
{
player.vertAngle += 0.05f;
player.ly = sin(player.vertAngle);
glutWarpPointer(screen.x/2,screen.y/2);
}
else if (y > screen.y/2)
{
player.vertAngle -= 0.05f;
//if (player.vertAngle > 360)
//player.vertAngle = 360;
player.ly = sin(player.vertAngle);
glutWarpPointer(screen.x/2,screen.y/2);
}
을하지만을하지만, 할 수있는 더 좋은 방법이 여기에
내 마우스 업데이트입니다 플레이어 회전은'player.angle = x - screen.x/2'입니다. 마우스가 1 픽셀 또는 100 픽셀 이동하는지 여부에 관계없이 플레이어가 지금 가지고있는 방식대로 플레이어가 항상 동일한 양을 돌리기 때문에 더 좋습니다. 이 문제가 해결되었습니다. – BWG