簡體   English   中英

Unity UI按鈕具有瘋狂的過渡狀態行為-單擊后仍突出顯示

[英]Unity UI Button has insane transition state behaviour - it remains highlighted after being clicked

我花了一段時間才弄清楚Unity UI Button Transition的問題:

問題:我將鼠標懸停在按鈕對象上,它進入突出顯示狀態,這很好。 如果我在按鈕上按下鼠標,鼠標進入按下狀態,那么我將鼠標移出按鈕,使其不再位於按鈕上方。 該按鈕將轉為突出顯示狀態,而不是正常狀態。 我需要在空白處單擊以獲取按鈕的正常狀態。

TLDR:

這是Unity中Button元素的默認行為-初始交互后它會保留焦點,從而使其顯示突出顯示的顏色。 單擊以清除焦點,因此焦點不再突出顯示。

要更改此行為,可以切換“ 導航”設置。

在此處輸入圖片說明

當前,它設置為Automatic 根據文檔 ,您要使用的選項是None ,結果是:

沒有鍵盤導航。 還要確保它不會因單擊/點擊而獲得焦點。

希望這可以幫助! 如果您有任何疑問,請告訴我。

如果您想使用鍵盤導航並且也擺脫了這個問題,可以添加以下功能進行更新:

void Update()
{
    if (Input.GetMouseButtonUp(0))
    {
        EventSystem.current.SetSelectedGameObject(null);
    }
}

要保留鍵盤自動導航,您可能想要繼承自IPointerExitHandler並在退出時取消選擇:

public void OnPointerExit(PointerEventData data)
{
    EventSystem.current.SetSelectedGameObject(null);
}

您可以添加檢查以僅取消選擇gameObject如果已選擇)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM