手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

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

时间:2024-10-14 15:11:21

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

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

2、 下载链接: https://pan.baidu.com/s/18azxcjmHVPQTo1ryc-zF3Q 密码: a5zd 中的包文件,并导入到unity3D中,参考经验如下;或者参考创建工程和代码的经验:

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

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编程实现鼠标拖拽对象移动

4、 将步骤三中的脚本拖拽到下图所示的Button对象的Inspector面板上。

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

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

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

6、 显示的结果如下图所示。(动图)

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

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

【源码】Unity3D编程实现鼠标拖拽对象移动
© 手抄报圈