2016-11-23 22 views
1

我花了一段時間才能找出與統一UI按鈕遷移問題後強調:統一UI按鈕瘋狂的過渡態行爲 - 它仍然被點擊

問題: 我的按鈕對象上懸停,它突出顯示的狀態,這很好。如果我按下按鈕上的鼠標,它會進入按下狀態,然後我將鼠標移動到按鈕外面,以便它不再在按鈕上方。該按鈕進入突出顯示狀態而不是正常狀態。我需要點擊空白處才能獲得正常的按鈕狀態。

TLDR:

+0

這似乎是設計的行爲 - 交互式用戶界面元素(例如,你可以看到這使用HTML按鈕和鏈接),點擊元素通常會在初始交互後保留「焦點」。點擊此處將清除焦點,這就是爲什麼當您這樣做時不再突出顯示按鈕的原因。 – Serlite

回答

2

這是一個團結Button元素的默認行爲 - 它保留焦點初始相互作用後,使其顯示高亮顏色。點擊即可清除焦點,因此不再突出顯示。

要更改此行爲,您可以切換導航設置。

enter image description here

目前,它被設置爲自動。據the documentation,你要改爲使用的選項是,這會導致:

沒有鍵盤導航。還可以確保它不會通過點擊/點擊獲得焦點。

希望這會有所幫助!如果您有任何問題,請告訴我。

+0

我不明白這是如何在鼠標交互中直觀的行爲。但只要他們有選擇避免這種情況,我很樂意去。謝謝@Serlite –

1

如果要使用鍵盤導航,也擺脫這個問題,你可以添加此功能更新:

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

您可以使用任何您想要的方式使用導航,它可以讓您完全控制如何進行轉換,因此您不需要此類解決方法。此外,這種解決方案會影響遊戲性能,並可能會引入更多的錯誤,具體取決於遊戲中的其他輸入行爲。 –

+0

如果你使導航沒有你不能使用鍵盤導航 – MBS

+0

是的!但要使用鍵盤導航,您可以將導航設置爲手動並編輯單擊可視化按鈕。這就是我完全控制的意思。 –