unity鼠标点击移动物体松开回到原位
时间: 2023-07-05 15:04:15 浏览: 91
你可以使用以下代码实现鼠标点击移动物体并在松开鼠标时回到原来的位置:
```csharp
using UnityEngine;
public class MoveObjectOnClick : MonoBehaviour
{
private Vector3 originalPosition;
private bool isDragging = false;
void Start()
{
originalPosition = transform.position;
}
void OnMouseDown()
{
isDragging = true;
}
void OnMouseUp()
{
isDragging = false;
transform.position = originalPosition;
}
void Update()
{
if (isDragging)
{
Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
transform.position = new Vector3(mousePosition.x, mousePosition.y, originalPosition.z);
}
}
}
```
在这个脚本中,我们首先记录了物体的初始位置,然后使用 `OnMouseDown()` 和 `OnMouseUp()` 函数来检测鼠标是否按下或松开。`isDragging` 变量用来跟踪鼠标是否正在拖动物体。
在 `Update()` 函数中,我们检查 `isDragging` 变量是否为 true,如果是,我们将物体移动到鼠标位置。最后,当鼠标松开时,我们将物体移回原来的位置。
阅读全文