您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么屏蔽unity的響應事件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在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è)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。