[英]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.