溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么屏蔽unity的響應事件

發(fā)布時間:2021-12-18 14:11:30 來源:億速云 閱讀:180 作者:iii 欄目:大數據

本篇內容介紹了“怎么屏蔽unity的響應事件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

3D世界中屏蔽UI的響應事件

在Unity游戲開發(fā)中,我們會經常遇到這樣一個問題:拖拽3D場景來預覽當前的世界。即通過拖拽鼠標來控制相機的位置。但是場景中一般都會有UI界面懸浮在最上層。

當我們滑動UI界面上面的滾動列表的時候,會發(fā)現此時的場景會跟著移動。這是我們不想看到的。正確的結果應該是拖動場景的時候相機才移動,這才符合我們的設定。因此就需要一個接口來判斷當前鼠標是否點擊到了UI上面。

public bool IsPointerOverGameObject()
   {
       if (Input.GetMouseButton(0)
           || (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began))
       {
#if UNITY_EDITOR
           if (EventSystem.current.IsPointerOverGameObject())
               return true;
#else
           if (Input.touchCount > 0)
           {
                int fingerId = Input.GetTouch(0).fingerId;
                if (EventSystem.current.IsPointerOverGameObject(fingerId))
                {
                    return true;
                }
           }
#endif
       }
       return false;
   }

上面的函數接口,如果返回true就表明當前鼠標點擊了UI。

“怎么屏蔽unity的響應事件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI