【发布时间】:2014-01-06 19:38:25
【问题描述】:
我的问题是当我的鼠标在屏幕上时屏幕将不再旋转。仅当应用程序不再处于活动状态时。
(显示正在发生的事情的视频: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 个像素,您的播放器总是转动相同的量。这解决了这个问题。