问题遇到的现象和发生背景
这里在开发一个editor,老板给我的要求是让整个UI可以实现自由拖拽和缩放。UI上有很多小组件,要求是让它们可以一起被拖拽及缩放。我现在已经实现了缩放功能,其实就是把所有小组件挂在一个大的panel上面。但是关于拖拽,出现了一点问题。我现在使用的是Ondrag方法,但是这个方法只有在点击Panel组件时才能实现拖拽。我的老板希望我在点击背景时也可以随意拖拽缩放。所以现在我想要知道该如何实现这个功能。
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我现在使用的代码:
using UnityEngine;
using UnityEngine.EventSystems;
public class DragUI : MonoBehaviour, IDragHandler, IPointerDownHandler
{
private Vector2 offsetPos;
public void OnDrag(PointerEventData eventData)
{
transform.position = eventData.position - offsetPos;
}
public void OnPointerDown(PointerEventData eventData)
{
offsetPos = eventData.position - (Vector2)transform.position;
}
}