Unity中实现拖拽操作
发布日期:2021-06-30 19:57:06
浏览次数:2
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月25日 07时45分12秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
15 个有意思的 JavaScript 和 CSS 库推荐! 你用过几个?
2019-04-30
技术分享 | mongo 集群连接数暴涨处理案例一则
2019-04-30
技术分享 | MySQL 会受到“Unix千年虫“的影响吗
2019-04-30
第30期:索引设计(全文索引中文处理)
2019-04-30
第40问:对进行中的 DDL 进行 kill , 到底多久能响应
2019-04-30
HDU 6178 && 2017 多校训练:Monkeys(DFS)
2019-04-30
HDU 6180 && 2017 多校训练:Schedule
2019-04-30
AC自动机(HDU 2222: Keywords Search)
2019-04-30
最大权闭合子图(poj 2987 Firing)
2019-04-30
bzoj 3040: 最短路(road)(堆优化dijkstra)
2019-04-30
置换群Polya定理(poj 2409: Let it Bead)
2019-04-30
约瑟夫环问题
2019-04-30
bzoj 2733: [HNOI2012]永无乡(线段树启发式合并)
2019-04-30
bzoj 3262: 陌上花开(cdq分治)
2019-04-30
HDU 6182 && 2017广西邀请赛:A Math Problem
2019-04-30
HDU 6186 && 2017广西邀请赛:CS Course
2019-04-30
HDU 6188 && 2017广西邀请赛:Duizi and Shunzi
2019-04-30
HDU 6185 && 2017广西邀请赛:Covering(矩阵快速幂)
2019-04-30