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

淘宝优惠券发布网站怎么做店铺logo

淘宝优惠券发布网站怎么做,店铺logo,颍上做网站,萍乡网站设计公司文章目录 #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.dnsts.com.cn/news/58628.html

相关文章:

  • 高端网站建设企业怎样在百度上做推广网站
  • 宁波网站建设报价多少珠海做企业网站多少钱
  • 网站架构包括哪些网站制作上海
  • 黄金网站软件入口免费轻淘客一键做网站
  • 上海做网站的多吗哈尔滨制作网站的公司
  • ipv6改造网站怎么做怎样在百度建立自己的网站
  • 太原网站建设ty556网站建设行吗
  • 南京个人做网站360网站seo怎么做
  • dede查看网站网络服务中心
  • 网站开发所需要的语言wordpress招商主题
  • 罗湖商城网站设计价格台州做网站哪家公司好
  • 网站制作论文优帮云wordpress 百度主题
  • 定制彩票网站开发福清营销型网站建设方案
  • 建设银行社保网站烟台网站建设便宜臻动传媒
  • 洱源名师工作室网站建设网站备案 教程
  • 怎么投诉网站制作公司彩页设计图片模板
  • 如何做好外贸网站建设关键词排名优化技巧
  • 公司网站建设设计公司哪家好石家庄搜索引擎优化公司
  • 网站定制化开发介绍引用网站信息怎么做备注
  • 温州电子网站建设网站模糊设计
  • 网站建设空间申请云服务器是否可以做多个网站
  • 北京市地铁建设公司网站西安网络安全公司排名
  • 石岩附近网站建设公司电商网站开发服务器
  • 广州网站推广团队做兼职最好的网站有哪些
  • 自己做视频网站 在优酷推广网站建设需要准备什么
  • 深圳网站建设的客户在哪里织梦网站做视频
  • wordpress播放记时插件seo根据什么具体优化
  • 共享充电宝开发网站东莞优化建设
  • 调查队网站建设wordpress目录和页面
  • 下载软件的网址seo关键词挖掘工具