我回来了!
所以,我改写了我的相机代码。这是新代码:
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);
一起正常工作?
谢谢!
答案 0 :(得分:0)
您的轮值增量与OldMouseX
和OldMouseY
无关,它们相对于屏幕中心(可能是CenterX
和CenterY
)。这就是将光标包裹回中心的重点。