1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using UnityEngine;

public class MouseDragFollow : MonoBehaviour
{
private bool isDragging = false;
private Camera mainCam;
private Vector3 originalPosition;

void Start()
{
mainCam = Camera.main;
originalPosition = transform.position;
}

void Update()
{
if (Input.GetMouseButtonDown(0)) // 滑鼠左鍵按下
{
isDragging = true;
}

if (Input.GetMouseButtonUp(0)) // 滑鼠左鍵放開
{
isDragging = false;
transform.position = originalPosition; // 回到原始位置
}

if (isDragging)
{
Vector3 mousePos = Input.mousePosition;
mousePos.z = 0f - mainCam.transform.position.z;
Vector3 worldPos = mainCam.ScreenToWorldPoint(mousePos);
transform.position = new Vector3(worldPos.x, worldPos.y, originalPosition.z);
}
}
}