在用OnGUI函數繪制窗體時,鼠標在窗體或控件上面操作時,場景則不應該響應鼠標事件。網上一般用 GUIUtility.hotcontrol!=0來屏蔽,當hotControl不為0時說明有控件處於激活狀態。查官方文檔,當鼠標在GUI控件上面按下時,hotcontrol被設置為該控件的ID,當鼠標按鍵被彈起時,hotcontrol為設置為0,因為在場景里面只能配合鼠標按下事件,不能配合鼠標彈起,因為此時hotcontrol已經被引擎置為0了。 但是目前開發的界面上發現,偶爾在窗體上點擊時,hotcontrol仍然為0,因此不能完全屏蔽掉GUI的操作。不知道有人知道什么原因么?現在只好做一個全局標記變量,每個界面負責管理這個變量,當鼠標在某個界面內,則把標記置為true。離開或界面被關閉,則置為false。先用這個方法解決吧。
記錄一下。希望能找到更好的解決方法。