我有這樣一段代碼應該測試鼠標移動和改變相機如果這樣做:這段代碼爲什麼會以相反的方式工作?
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軸。
這是爲什麼?
爲了澄清,你是說在問題的代碼給出了正確的結果,使用不正確的邏輯? 您是否可以確認您沒有用相反順序定義的y&x的POINT重定義? – kibibu 2013-04-22 00:46:13