新聞中心
本篇內(nèi)容介紹了“怎么屏蔽unity的響應(yīng)事件”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了滴道免費(fèi)建站歡迎大家使用!
3D世界中屏蔽UI的響應(yīng)事件
在Unity游戲開發(fā)中,我們會(huì)經(jīng)常遇到這樣一個(gè)問題:拖拽3D場(chǎng)景來預(yù)覽當(dāng)前的世界。即通過拖拽鼠標(biāo)來控制相機(jī)的位置。但是場(chǎng)景中一般都會(huì)有UI界面懸浮在最上層。
當(dāng)我們滑動(dòng)UI界面上面的滾動(dòng)列表的時(shí)候,會(huì)發(fā)現(xiàn)此時(shí)的場(chǎng)景會(huì)跟著移動(dòng)。這是我們不想看到的。正確的結(jié)果應(yīng)該是拖動(dòng)場(chǎng)景的時(shí)候相機(jī)才移動(dòng),這才符合我們的設(shè)定。因此就需要一個(gè)接口來判斷當(dāng)前鼠標(biāo)是否點(diǎn)擊到了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;
}
上面的函數(shù)接口,如果返回true就表明當(dāng)前鼠標(biāo)點(diǎn)擊了UI。
“怎么屏蔽unity的響應(yīng)事件”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
網(wǎng)頁題目:怎么屏蔽unity的響應(yīng)事件
當(dāng)前網(wǎng)址:http://www.ef60e0e.cn/article/ihcjcd.html