unity 鼠标拖拽物体移动 松开物体下降
时间: 2023-09-26 11:14:24 浏览: 169
下面是一个简单的示例脚本,演示如何使用鼠标拖拽物体移动并松开物体下降:
```csharp
using UnityEngine;
public class DragAndDrop : MonoBehaviour
{
private Vector3 screenPoint;
private Vector3 offset;
private void OnMouseDown()
{
screenPoint = Camera.main.WorldToScreenPoint(gameObject.transform.position);
offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
}
private void OnMouseDrag()
{
Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
Vector3 curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;
transform.position = curPosition;
}
private void OnMouseUp()
{
// 松开鼠标后,让物体下降
GetComponent<Rigidbody>().useGravity = true;
}
}
```
这个脚本将物体拖拽到屏幕上的位置,然后在拖动期间更新物体的位置。当松开鼠标时,脚本将启用物体的重力,使其下降。请注意,要使物体下降,它必须有一个附加的刚体组件,并且启用了重力。
阅读全文