纯净版

    public class PureDrag : MonoBehaviour, IDragHandler, IEndDragHandler{private Canvas canvas;private const string UGUI_CanvasPath = "Root/_GameManager(Clone)/UGUISystem";//UGUI 画布的 场景 路径private void Start(){if (canvas == null){var canvasObj = GameObject.Find(UGUI_CanvasPath);if (canvasObj != null){canvas = canvasObj.GetComponent<Canvas>();}}}public void OnDrag(PointerEventData eventData){((RectTransform)transform).anchoredPosition += (eventData.delta / canvas.scaleFactor);}}

OnPointUp 不仅鼠标松开会调用,鼠标移动也会调用。

优化了拖拽的行为,仔细看canvas.scaleFactor
有一种更好的设计简化代码
检测区域作为一个类,PureDrag一个类,然后用2D刚体的碰撞检测


EventSystem 查看当前指针射线下是否是当前物体

Unity 实现图标的拖拽功能相关推荐

  1. vue项目中图标可拖拽功能实现

    vue项目中页面实现图标拖拽功能 最近在做项目需求时有个小功能:在页面的首页增加一个快速功能按钮,用来满足操作者快速实现某一目的渴望.为了体现代码搬运工的气质与水准,当时心想,这么简单的一个小东西必须 ...

  2. unity实现物品或技能图标的拖拽功能

    在设计背包或者技能栏的时候,通常采用MVC模式. Model脚本读取存放在数据库中的物品或技能的相关资源(Icon,prefabs) view脚本将读取的资源显示在背包或技能栏中. 而Controll ...

  3. Unity实现类似于苹果视频播放器视频播放进度条及声音进度条拖拽功能

    Unity实现类似于苹果视频播放器视频播放进度条及声音进度条拖拽功能 前言 我在之前的博客里介绍过关于VideoPlayer的简单使用流程,之前一直想研究下videoPlayer中的使用进度条控制视频 ...

  4. 【Unity实现背包拖拽功能 】

    Unity实现背包拖拽功能 可以实现背包拖拽交换位置.合成 等一系列功能的实现 using System; using System.Collections; using System.Collect ...

  5. RecyclerView实现滑动删除和拖拽功能

    源码传送门 前言 从Android 5.0开始,谷歌推出了新的控件RecyclerView,相对于早它之前的ListView,优点多多,功能强大,也给我们的开发着提供了极大的便利,今天自己学习一下Re ...

  6. html制作网易云音乐登录系统,JavaScript实现[网易云音乐Web站登录窗口]拖拽功能...

    说明 你可能发现有很多网站他们的登录窗口或者说是登录框是可以拖动的, 更有甚者他们的站点提示框都可以拖动, 你也许可能会对这个功能的实现感兴趣, 那么这篇文章可能会对你有所帮助!具体的网站示例以 网易 ...

  7. Vue2 _ 实现拖拽功能

    老项目重构,其中有一些拖拽功能,不过用的是两个开源 JS 拖拽文件实现的效果,版本太老了,所以需要换代了,然后就查阅了能够用 Vue 来简单快速实现拖拽的功能实现方法 : 目录 一.HTML 拖放 二 ...

  8. android列表实现置顶,Android利用RecyclerView实现全选、置顶和拖拽功能示例

    Android利用RecyclerView实现全选.置顶和拖拽功能示例 发布时间:2020-08-23 16:26:42 来源:脚本之家 阅读:159 作者:爱开发 前言 今天给大家分享是如何在Rec ...

  9. android 当前置顶的控件,Android利用RecyclerView实现全选、置顶和拖拽功能示例

    前言 今天给大家分享是如何在RecyclerView实现全选,ItemTouchHelper实现侧滑删除,拖拽功能.比较基础.关于RecyclerView的强大,就不多说了.在Android L SD ...

最新文章

  1. try catch finally
  2. MATLAB中常用的产生随机数的几种函数
  3. c语言函数之间互相调用符号,如何实现C和C++函数互相调用
  4. 在ASP.NET中上传图片并生成缩略图
  5. 常用服务器性能分析工具
  6. 【深度学习】短袖短裤识别算法冠军方案总结
  7. opengl加载显示3D模型PLY类型文件
  8. centos安装vsftpd
  9. lora无线通信模块LoRa技术在智能家居灯控上的应用
  10. 文件上传 java 完美,vue+java实现文件上传(excel等),会出现跨域问题,直接用form表单提交就不会有问题了(new FormData())...
  11. 需求规格说明书(备注:因不支持word复制,格式图片发生改变 ,故以文件方式又上传了一份pdf)...
  12. iPhone 大降价;谷歌再爆丑闻;京东云金山云回应合并传闻 | 极客头条
  13. 使用计算机的硬件及参数,硬件参数怎么看?如何选配电脑硬件?
  14. 一些有用的收藏201808
  15. 2017年2月14日
  16. 计算机专业代码933,数学类专业代码
  17. 使用SQL语句创建数据库
  18. Windows下安装 rubyinstaller
  19. Python文件(二):数据组织的维度,一维数据的表示、存储、处理
  20. 纯css的大于号样式

热门文章

  1. Matlab绘图(二)—变色散点图二维、三维绘制
  2. 6款数据库管理工具推荐,设计简单、功能丰富,还与阿里云兼容哦!
  3. HLS协议深入分析——时间线介绍(二)
  4. 用 Pinbox 轻松收藏代码,这就是我要的收藏工具
  5. R语言快速运行脚本程序
  6. 半次元cos图片爬虫
  7. KUKA机器人 - 从开机到自动运行
  8. macbook linux 双系统,MacOS+Ubuntu双系统,原来MacBook安装linux也简单!
  9. c语言fopen错误指针,fopen出错的原因
  10. YYT 0664 - 2008 医疗器械软件 软件生存周期过程