c# – Unity3D UI,计算拖动项目的位置?
发布时间:2020-12-16 01:21:39 所属栏目:百科 来源:网络整理
导读:现在,在Unity中拖动UI元素非常容易:制作一些UI项目.添加组件 – 活动 – 事件触发器.放在下面的脚本上.单击以添加四个明显的触发器.你完成了. 然而. 我完全迷失了指针坐标和UI坐标之间的关系(如RectTransform中所见,等等). 在下面的DragIt中:如何在手指下
现在,在Unity中拖动UI元素非常容易:制作一些UI项目.添加组件 – >活动 – >事件触发器.放在下面的脚本上.单击以添加四个明显的触发器.你完成了.
然而. 我完全迷失了指针坐标和UI坐标之间的关系(如RectTransform中所见,等等). 在下面的DragIt中:如何在手指下正确移动UI面板? 假设你有一个大面板,十个UIButton坐在面板上,按钮上有Dragster. RectTransform坐标和鼠标指针之间的关系是什么… 简而言之,如何在DragIt()下方移动其中一个按钮? /* modern Unity drag of UI element */ using UnityEngine; using UnityEngine.UI; using UnityEngine.Events; using UnityEngine.EventSystems; public class Dragster:MonoBehaviour { public int index; // number each of your UI items static bool beingDragged = false; static int dragFrom; public void DragStart() { beingDragged = true; dragFrom = index; } public void DragIt() { ? ? W T F ? ? } public void DragEnd() { beingDragged = false; } public void DroppedBra() { Debig.Log("Drag: from/to " +dragFrom +" --> " +index); } } 解决方法
对于Draging的东西我只是这样做:
using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class Draggable : MonoBehaviour,IBeginDragHandler,IDragHandler,IEndDragHandler { public void OnBeginDrag(PointerEventData eventData) { } public void OnDrag(PointerEventData eventData) { //Debug.Log ("OnDrag"); this.transform.position = eventData.position; } public void OnEndDrag(PointerEventData eventData) { Debug.Log ("OnEndDrag"); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |