在Unity中,如果要通過鼠標(biāo)拖到UI組件或者觸摸移動(dòng)UI組件,可以使用EventSystems下的方法。
具體實(shí)現(xiàn)如下:
新建一個(gè)腳本,DragController.cs:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class DragController : MonoBehaviour, IPointerDownHandler, IDragHandler, IPointerUpHandler
{
private RectTransform tran;
private Vector2 pointerOffset;
private void Awake()
{
tran = GetComponent<RectTransform>();
}
public void OnPointerDown(PointerEventData eventData)
{
// 計(jì)算觸摸點(diǎn)與拖動(dòng)對(duì)象的偏移量
pointerOffset = eventData.position - (Vector2)tran.position;
}
public void OnDrag(PointerEventData eventData)
{
// 更新拖動(dòng)對(duì)象的位置
tran.position = eventData.position - pointerOffset;
}
public void OnPointerUp(PointerEventData eventData)
{
// 重置偏移量
pointerOffset = Vector2.zero;
}
}
然后把該腳本拉到UI組件中,運(yùn)行后我們可以通過鼠標(biāo)拖到UI組件,在觸摸屏上,我們也可以通過觸摸UI組件拖動(dòng)。
效果如:文章來源:http://www.zghlxwxcb.cn/news/detail-793114.html
Unity 鼠標(biāo)點(diǎn)擊或觸摸任意拖動(dòng)UGUI的方法文章來源地址http://www.zghlxwxcb.cn/news/detail-793114.html
到了這里,關(guān)于Unity 鼠標(biāo)點(diǎn)擊或觸摸任意拖動(dòng)UGUI的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!