在 Unity 中实现鼠标拖拽物体的功能需要使用到 Unity 的 Physics 系统。
要实现鼠标拖拽物体,你需要在场景中添加以下内容:
-
一个 Rigidbody 2D 组件,用于控制物体的运动。
-
一个 Box Collider 2D 组件,用于检测鼠标与物体的碰撞。
-
一个脚本,用于监听鼠标的输入,并在鼠标按下时拖拽物体。
这里是一个简单的脚本示例,它可以实现鼠标拖拽物体的功能:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DragObject : MonoBehaviour
{
private Rigidbody2D rb;
private Vector3 mousePosition;
private Vector3 objectPosition;
private float distance;// 声明一个浮点数变量,用于记录鼠标与物体的距离
private bool isDragging;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);