在项目中经常使用的UI的移动拖拽,实现的方法有很多种,案例中实现image控件的自由拖拽,拖拽到制定的位置进行吸附,实现拼图功能。核心功能就是UI控件的拖拽使用的是UnityEngine.EventSystems UI碰撞使用的是OnTriggerEnter2D。
在Unity中提供了多种事件进行使用包括,如图的支持事件,需要添加IBeginDragHandler, IDragHandler, IEndDragHandler进行代码使用。
public void OnBeginDrag(PointerEventData eventData)
{
//GetComponent<CanvasGroup>().blocksRaycasts = false;
//throw new System.NotImplementedException();
}
public void OnDrag(PointerEventData eventData)
{
transform.position = eventData.position;
print(eventData.pointerCurrentRaycast.gameObject.name);
// th