unity3d 鼠標事件穿透GUI界面的問題


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

記錄一下。希望能找到更好的解決方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM