Unity3d本身并不能设置鼠标的位置,需要依赖系统库,最近在做MAC平台的开发,MAC下得方法还没找到,但是在windows下得方法如下:
//引用系统库
[DllImport("User32")]private static extern bool SetCursorPos(int x, int y);
[DllImport("User32")]
private static extern bool GetCursorPos(out POINT pt);
if (Input.GetMouseButton(1)/* && !Input.GetMouseButton(0)*/)
{
if (Input.GetMouseButtonDown(1))
{
POINT pt;
GetCursorPos(out pt);
lastMouseX = pt.X;
lastMouseY = pt.Y;
Input.mousePosition{ }
}
//Screen.lockCursor = true;
Screen.showCursor = false;
SetCursorPos(lastMouseX, lastMouseY);
//改变视角
x += Input.GetAxis("Mouse X") * speed.x * 0.02f;
y -= Input.GetAxis("Mouse Y") * speed.y * 0.02f;
y = ClampAngle(y, yMinLimit, yMaxLimit);
}
本文介绍了在Unity3D中如何在Windows平台上获取和设置鼠标位置。通过调用系统库GetCursorPos和SetCursorPos方法,实现鼠标位置的读取和更新,同时结合Input.GetAxis用于改变视角。

1075

被折叠的 条评论
为什么被折叠?



