針對NGUI點擊穿透UI,場景響應的問題

    大家在遊戲中點擊物體拾取物體時,初學者常用的就是射線掃描(反正我現在用的就是射線照射,哈哈···),獲取物體信息然後產生某些設定好的反應,但是我在應用中發現當我點擊UI上的按鈕時,發現如果UI 遮蓋的後面有任務物品的話,同時也觸發了任務物品,這是我們不希望發生的事件,但是由於NGUI的的點擊事件是它自身的camera判斷的,而我們點擊物品是main Camera判斷的,二者各司其職,所以纔會造成共同響應的問題。但是該怎麼避免呢?

   大家可能用過UIEventListener.Get (gameObject).onHover這句代碼,這是判斷鼠標是否進去該UI區域,其原理其實和獲得他的Tag值差不多,因此當該UI上覆蓋有其他按鈕的時候這個方法就很雞肋,並不好用,我看網上還有一個方法是給UI一個Tag值,判斷是否是UI,這個大家可以試一下,反正我測試的是沒用的。

   現在要說的就是NGUI提供的UICamera.isOverUI方法,就掛在你main Camera的射線掃描前就行,該語句是返回布爾值,當射線掃描到UI就截斷射線,就會使射線禁止穿透,具體使用是if (UICamera.isOverUI  == false) {/*獲取物品代碼*/},這樣就OK了,大家嘗試一下吧~~~~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章