写一段鼠标拖动物体运动的脚本
时间: 2023-04-05 16:02:29 浏览: 85
很高兴回答您的问题。以下是一段鼠标拖动物体运动的脚本:
```
using UnityEngine;
public class DragObject : MonoBehaviour
{
private Vector3 mOffset;
private float mZCoord;
private void OnMouseDown()
{
mZCoord = Camera.main.WorldToScreenPoint(gameObject.transform.position).z;
mOffset = gameObject.transform.position - GetMouseWorldPos();
}
private Vector3 GetMouseWorldPos()
{
Vector3 mousePoint = Input.mousePosition;
mousePoint.z = mZCoord;
return Camera.main.ScreenToWorldPoint(mousePoint);
}
private void OnMouseDrag()
{
transform.position = GetMouseWorldPos() + mOffset;
}
}
```
这段脚本可以让玩家通过鼠标拖动物体进行移动。当玩家按下鼠标左键时,记录下物体的初始位置和鼠标点击位置的偏移量。然后在鼠标拖动时,根据当前鼠标位置计算出物体应该移动到的位置,再加上初始位置和偏移量即可。