当前位置: 首页 > news >正文

淘宝优惠券发布网站怎么做上海开发网站

淘宝优惠券发布网站怎么做,上海开发网站,网站备案 类型,wordpress建站事项文章目录 #x1f449;一、背景#x1f449;二、效果图#x1f449;三、原理#x1f449;四、核心代码#x1f449;五#xff0c;总结 #x1f449;一、背景 之前做PC项目时常常有面板拖拽移动的需求#xff0c;今天总结封装一下#xff0c;做成一个随时随地可复用的… 文章目录 一、背景二、效果图三、原理四、核心代码五总结 一、背景 之前做PC项目时常常有面板拖拽移动的需求今天总结封装一下做成一个随时随地可复用的拖拽面板功能。 二、效果图 三、原理 实现原理也非常简单。首先继承UI事件系统下的两个接口 IBeginDragHandler, IDragHandler 进而实现两个接口方法即可主要是在开始拖拽事件里面记录鼠标按下的坐标mMouseDownPosition和面板的初始坐标mPanelOriginPosition然后在拖拽过程中鼠标在Canvas下的坐标减去开始拖拽的鼠标坐标得到一个鼠标坐标偏移量加上原始面板坐标得到一个新的拖拽位置的坐标进行坐标赋值即可。 四、核心代码 using UnityEngine; using UnityEngine.EventSystems;namespace Utility {/// summary/// UGUI面板的拖拽移动功能/// /summary[RequireComponent(typeof(RectTransform))]public class DragPanel : MonoBehaviour, IBeginDragHandler, IDragHandler{/// summary/// 静态方法提供动态绑定拖拽面板的接口/// /summary/// param namerectTransform/param/// returns/returnspublic static DragPanel Get(RectTransform rectTransform){DragPanel dragPanel rectTransform.gameObject.GetComponentDragPanel();if (dragPanel null){dragPanel rectTransform.gameObject.AddComponentDragPanel();}return dragPanel;}/// summary/// 当前拖拽面板的根节点一般是Canvas/// /summaryprivate RectTransform canvasRect;private Canvas rootCanvas;private Camera uiCam;/// summary/// 是否允许拖拽/// /summaryprivate bool isAllowDrag;private Vector3 mMouseDownPosition;private Vector3 mPanelOriginPosition;private void Awake(){Transform root transform.root;if (root ! null){rootCanvas root.GetComponentCanvas();canvasRect root as RectTransform;if (rootCanvas.renderMode RenderMode.ScreenSpaceCamera){uiCam rootCanvas.worldCamera;}}isAllowDrag rootCanvas ! null;}public void OnBeginDrag(PointerEventData eventData){if (!isAllowDrag) return;RectTransformUtility.ScreenPointToWorldPointInRectangle(canvasRect,Input.mousePosition,uiCam,out mMouseDownPosition);mPanelOriginPosition transform.position;}public void OnDrag(PointerEventData eventData){if (!isAllowDrag) return;Vector3 currentMousePosInUGUI;RectTransformUtility.ScreenPointToWorldPointInRectangle(canvasRect,Input.mousePosition,uiCam,out currentMousePosInUGUI);transform.position mPanelOriginPosition (currentMousePosInUGUI - mMouseDownPosition);}} } 食用方法 直接将DragPanel脚本拖拽赋值给需要拖拽的UI面板。 如果需要拖拽功能的UI面板多可使用动态绑定方法该脚本提供了一个Get方法参数为需要拖拽的对象的RectTransform组件。 代码动态绑定方法如下 RectTransform rectTransform xxx;//需要赋值对象不能为空哦。DragPanel.Get(rectTransform);五总结 后续可以进行优化的地方 鼠标拖拽移动可以是用平滑移动方法对拖拽范围进行限制
http://www.hkea.cn/news/14451400/

相关文章:

  • 企业站官方网站张掖市住房和城乡建设局网站
  • 网站如何留住用户手机网络不稳定怎么解决
  • 个人网站首页内容荥阳市建设局网站
  • 龙岩网站定制北京平面设计网站
  • 泰国网站域名深圳媒体网络推广有哪些
  • 只做英文网站 域名有什么要求网页链接生成
  • 为古汉字老人做网站wordpress分类别名获取文章
  • 建设网站项目的目的是什么意思白银市城县建设局网站
  • 怎么在网站上做旅游推广wordpress主题有什么用
  • 河南网站建设yijuce萍乡公司做网站
  • 株洲做网站的公司私人下载服务器
  • 像乐视做硬件的视频网站网站群建设报价
  • 网站的主要栏目及功能互联网公司排名500强名单
  • 百度网站主要提供的服务网站繁体和中文这么做
  • 人工智能写作网站大学生可以做的网站项目
  • 在哪可以建一个网站专业加速器产业园
  • 网站怎么做301定向个人怎么申请微信小程序
  • 建设银行网站不能建行转他行了软文案例
  • 温州网站优化排名推广做ppt模板网站有哪些
  • 物业网站建设方案长沙免费旅游景点大全
  • 申请微信支付公司网站网站上怎么做推广
  • 房产网站 模板中山营销型网站设计
  • 网站设计的主题网站建设插导航条
  • 网站建设用户调研个人网站创建平台
  • 商城类网站怎么推广wordpress aj提交评论
  • 邯郸建设网站的公司如何搭建高访问量的网站
  • 网站开发 网页设计北京师范大学出版社湖北正规网站建设检修
  • 做淘宝那样的网站要多少钱西安网站建设公司西安网络公司
  • 怎么制作网站app河北seo公司
  • 网站建设负责那内容上传吗做新浪网网站所需的条件