所以,重写了我的相机代码(有点),我又回到了原点

时间:2015-03-13 18:15:47

标签: c++

我回来了!

所以,我改写了我的相机代码。这是新代码:

OldMouseX = MouseX;
OldMouseY = MouseY;

GetCursorPos(&p);

MouseX = p.x - CenterX;
MouseY = p.y - CenterY;


//Camera moving left/right

heading += MouseX - OldMouseX;
yrot = heading;

heading += MouseX - OldMouseX;
yrot = heading;

//Camera moving up/down

VertLook += MouseY - OldMouseY;

VertLook += MouseY - OldMouseY;

SetCursorPos(CenterX, CenterY);

然而,随着SetCursorPos(CenterX, CenterY);的召唤,我的相机又回到了只是略微抽搐,从而让我回到原点。在SetCursorPos(CenterX, CenterY);发表评论后,它运行正常。有哪些解决方案可以让它与SetCursorPos(CenterX, CenterY);一起正常工作?

谢谢!

1 个答案:

答案 0 :(得分:0)

您的轮值增量与OldMouseXOldMouseY无关,它们相对于屏幕中心(可能是CenterXCenterY)。这就是将光标包裹回中心的重点。