unity2d以输入系统方式鼠标拖拽代码
时间: 2024-10-19 15:12:23 浏览: 32
在Unity 2D中,创建一个鼠标拖拽功能通常涉及到Input.GetMouseButtonDown(0),Input.GetMouseButtonUp(0)以及Input.mousePosition等函数。以下是一个简单的示例代码片段:
```csharp
public class MouseDragExample : MonoBehaviour
{
public Transform dragObject; // 需要被拖动的对象
private Vector2 mouseStartPosition; // 拖动开始的位置
void Update()
{
if (Input.GetMouseButtonDown(0)) // 如果按下左键
{
mouseStartPosition = Input.mousePosition; // 记录下鼠标点击位置
}
else if (Input.GetMouseButtonUp(0) && mouseStartPosition != Vector2.zero) // 如果释放左键
{
// 计算拖动的距离
Vector2 delta = Input.mousePosition - mouseStartPosition;
// 将对象按照delta值移动到新位置
dragObject.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
// 清空开始位置
mouseStartPosition = Vector2.zero;
}
}
}
```
在这个例子中,当你按下并保持鼠标左键,物体会随着鼠标移动。松开左键时,物体会在最后鼠标位置停止。
阅读全文