Unity中实现拖拽操作
发布日期:2021-06-30 19:57:06
浏览次数:3
分类:技术文章
本文共 1155 字,大约阅读时间需要 3 分钟。
一:UI元素 ——使用UI事件接口
using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class Test : MonoBehaviour,IDragHandler{ private GameObject nowDrag_go;//当前拖拽的物体 public void OnDrag(PointerEventData eventData) { FollowMouse(eventData); } private void FollowMouse(PointerEventData eventData) { Vector3 globalMousePos; if (RectTransformUtility.ScreenPointToWorldPointInRectangle(GameObject.Find("Canvas").transform as RectTransform, eventData.position, eventData.pressEventCamera, out globalMousePos)) { nowDrag_go.transform.position = globalMousePos; } }}
二:2D/3D物体——使用生命周期函数
using System;using UnityEngine;public class Test : MonoBehaviour{ private void Awake() { Input.multiTouchEnabled = false; } private void OnMouseDrag() { //得到摄像机到物体的向量 Vector3 v = transform.position - Camera.main.transform.position; //得到摄像机与物体所在平面的距离 float dis = Vector3.Dot(v, Camera.main.transform.forward); transform.position = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, dis)); }}
转载地址:https://liuhaowen.blog.csdn.net/article/details/104008490 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月22日 23时16分12秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于java的SSM框架的流浪猫救助网站的设计与实现
2019-04-30
基于java的SSM框架的教务关系系统的设计与实现
2019-04-30
别再问我什么是A/B测试了!
2019-04-30
如何用同期群分析模型提升留存?(Tableau实战)
2019-04-30
爱了,吹爆这个高颜值的流程图工具!
2019-04-30
一个数据项目
2019-04-30
基于JAVA_JSP电子书下载系统
2019-04-30
基于java出租车计价器设计与实现
2019-04-30
十二时辰篇:这该死的 996
2019-04-30
2021最新 上海互联网公司排名
2019-04-30
字节vs快手!取消大小周之战
2019-04-30
送一个闲置显示器!
2019-04-30
Oracle 行转列 pivot函数基本用法
2019-04-30
Oracle字符串分隔符替换(替换奇数个或偶数个)
2019-04-30
Oracle 利用 UTL_SMTP 包发送邮件
2019-04-30
Oracle 自定义函数实现split功能,支持超长字符串和clob类型的分隔
2019-04-30
Oracle 的循环中的异常捕捉和处理
2019-04-30
Oracle通过pivot和unpivot配合实现行列转换
2019-04-30
给Oracle数据库换一个1522端口的监听
2019-04-30