如何限制可拖动距离?
How can I limit draggable distance?
我尝试制作一个可拖动的抽屉,我使用了这段代码:
void OnMouseDrag() {
Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
Vector3 curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;
//Debug.Log(curPosition[0]);
curPosition.y = gameObject.transform.position.y;
curPosition.z = gameObject.transform.position.z;
//curPosition.x = Mathf.Clamp(gameObject.transform.position.x,-3.0F,3.0F);
transform.position = curPosition;
}
如何限制x的拖动范围?因为我不想有这样的东西:
我尝试使用 Mathf.Clamp,但效果不佳。
谢谢!对不起我的英语。
我建议使用 Physics Joints, more preciselly a ConfigurableJoint。你可以限制你的关节在每个轴上可以移动的距离(我曾经用它来做一些抽屉)。
我尝试制作一个可拖动的抽屉,我使用了这段代码:
void OnMouseDrag() {
Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
Vector3 curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;
//Debug.Log(curPosition[0]);
curPosition.y = gameObject.transform.position.y;
curPosition.z = gameObject.transform.position.z;
//curPosition.x = Mathf.Clamp(gameObject.transform.position.x,-3.0F,3.0F);
transform.position = curPosition;
}
如何限制x的拖动范围?因为我不想有这样的东西:
我尝试使用 Mathf.Clamp,但效果不佳。
谢谢!对不起我的英语。
我建议使用 Physics Joints, more preciselly a ConfigurableJoint。你可以限制你的关节在每个轴上可以移动的距离(我曾经用它来做一些抽屉)。