Unity中鼠标拖动物体移动
步骤一:
在层级中创建一个3D object中的cube物体
步骤二:
创建一个C#脚本,将以下代码写入
public class td : MonoBehaviour
{
Vector3 dist;
float posX;
float posY;
float posZ;
// Start is called before the first frame update
private void OnMouseDown()
{
dist = Camera.main.WorldToScreenPoint(transform.position);
posX = Input.mousePosition.x - dist.x;
posY = Input.mousePosition.y - dist.y;
posZ = Input.mousePosition.z - dist.z;
}
private void OnMouseDrag()
{
Vector3 curPos = new Vector3(Input.mousePosition.x - posX, Input.mousePosition.y - posY, Input.mousePosition.z - posZ);
Vector3 worldPos = Camera.main.ScreenToWorldPoint(curPos);
transform.position = worldPos;
}
}
步骤三:
将脚本挂载在物体上,运行程序。