为什么这段代码以相反的方式工作?

Why does this piece of code work in the opposite way?

本文关键字:方式 工作 段代码 代码 为什么      更新时间:2023-10-16

我有这段代码,应该是测试鼠标移动和改变相机,如果它:

POINT myMouse;
GetCursorPos(&myMouse);
float Sensitivity = 10;
if(myMouse.x != middleX || myMouse.y != middleY)
{
    float DifferenceX = myMouse.x - middleX;
    float DifferenceY = myMouse.y - middleY;
    Rotation -> y += DifferenceX/Sensitivity;
    Rotation -> x -= DifferenceY/Sensitivity;
    if(Rotation -> x > 90) Rotation -> x = 90;
    if(Rotation -> x < -90) Rotation -> x = -90;
    if(Rotation -> y > 360) Rotation -> y = 0;
    SetCursorPos(middleX, middleY);
}

由于某种原因,DifferenceX实际上是Y轴,而DifferenceY实际上是X轴。

为什么会这样?

 Rotation -> y += DifferenceX/Sensitivity;
           //^^ y and x seems reversed
 Rotation -> x -= DifferenceY/Sensitivity;

应该是

 Rotation -> x += DifferenceX/Sensitivity;
 Rotation -> y -= DifferenceY/Sensitivity;
相关文章: