亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何讓 onPointerUp 事件注冊,無論 OnPointerDown 是否已注冊

如何讓 onPointerUp 事件注冊,無論 OnPointerDown 是否已注冊

C#
繁星coding 2023-07-22 18:37:39
目前,我正在開發一款手機游戲,用戶將在環境中單擊并拖動某些內容,如果將其拖動到中心,則會打開一個風扇菜單,然后他們可以在其中選擇一個選項。我遇到的問題是,當菜單打開時,用戶的手指仍然會被按下,如果他們將手指拖動到菜單項上然后釋放,則不會注冊 OnPointerUp 事件。強制用戶放開屏幕并按下菜單項會破壞我的游戲這部分的用戶體驗,因為它應該是從拖動元素的平滑過渡。如果我最初按下一個 UI 元素,然后將手指移動到另一個元素然后放開,該事件確實會注冊,但它無法從源自按鈕外部的 OnPointerDown 運行。
查看完整描述

1 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

OnPointerDown您可以通過更改pointerPress事件數據的變量來更改接收事件的對象。


以下腳本將觸發OnPointerUp您釋放指針的任何對象:


public class TestUI : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerEnterHandler

{

    public void OnPointerDown(PointerEventData eventData) { Debug.Log(this.gameObject + " Down"); }

    public void OnPointerEnter(PointerEventData eventData) { eventData.pointerPress = gameObject; }

    public void OnPointerUp(PointerEventData eventData) { Debug.Log(this.gameObject + " Up"); }

}


查看完整回答
反對 回復 2023-07-22
  • 1 回答
  • 0 關注
  • 141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號