【源码】Unity3D编程实现鼠标拖拽对象移动

2025-05-21 13:10:52

1、1. 打开软件,创建工程如下图所示。

【源码】Unity3D编程实现鼠标拖拽对象移动

3、3. 双击脚本文件TestOnMouse,改写代码如下,并保存:using UnityEngine;using Unit烤恤鹇灭yEngine.UI;using System.Collections;using UnityEngine.EventSystems;public class TestMouseDrag : MonoBehaviour{private bool isMouseDrag;Vector3 pos;public Vector3 screenPosition;public Vector3 offset;void Start(){isMouseDrag = false;}void OnMouseDown(){screenPosition = Camera.main.WorldToScreenPoint(gameObject.transform.position);offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z));isMouseDrag = true;}void OnMouseDrag(){if (isMouseDrag){//Debug.Log("开始拖拽了");Vector3 currentScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z);Vector3 currentPosition = Camera.main.ScreenToWorldPoint(currentScreenSpace) + offset;gameObject.transform.position = currentPosition;}}void OnMouseUp(){isMouseDrag = false;}}

【源码】Unity3D编程实现鼠标拖拽对象移动

5、5. 点击Unity3d的运行按钮或者使用快捷键Ctrl+p

【源码】Unity3D编程实现鼠标拖拽对象移动

7、如果您觉得有用,记得在下方点击投票、点赞、关注、留言,小编会定期奉上更多的惊喜哦,您的支持才是小编继续努力的动力,么么哒。

【源码】Unity3D编程实现鼠标拖拽对象移动
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢