unity获取鼠标拖动
时间: 2024-09-29 09:09:51 浏览: 46
在Unity引擎中,要获取鼠标拖动的位置,你需要创建一个脚本并将其附加到游戏物体上。以下是一个基本的步骤:
1. 创建一个新的C#脚本,命名为`MouseDragHandler`或相似的名字。
```csharp
using UnityEngine;
using System.Collections;
public class MouseDragHandler : MonoBehaviour
{
public Vector2 startPosition; // 用于存储鼠标的初始位置
private Vector2 currentMousePos; // 当前鼠标位置
void Update()
{
if (Input.GetMouseButtonDown(0)) // 检查是否按下左键
{
startPosition = Input.mousePosition; // 存储初始鼠标位置
}
if (Input.GetMouseButtonUp(0)) // 如果释放左键
{
Debug.Log("Mouse drag ended at position: " + currentMousePos);
// 在这里你可以添加其他处理逻辑
}
if (Input.GetMouseButton(0)) // 如果鼠标正在按住
{
currentMousePos = Input.mousePosition; // 更新当前鼠标位置
}
}
}
```
在这个脚本中,`Update()`函数会在每一帧被调用。当鼠标左键按下时,记录下初始位置;当鼠标左键松开时,打印出拖动结束的位置。`Input.mousePosition`返回的是鼠标在屏幕上的二维坐标。
要应用这个脚本到游戏对象上,只需将它拖放到场景中的任何GameObject上,并确保在Inspector视图中设置了`startPosition`字段为可编辑(editable)。
阅读全文