【发布时间】:2013-04-22 08:53:00
【问题描述】:
我有这段代码应该测试鼠标移动并改变相机如果它这样做:
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 轴。
这是为什么?
【问题讨论】:
-
澄清一下,您是说问题中的代码使用不正确的逻辑给出了正确的结果吗?您能否确认您没有自己对 POINT 的重新定义,其中 y&x 以相反的顺序定义?