2016-02-13 55 views
4

我的遊戲使用統一的5個新的UI系統與畫布。遊戲本身可以通過函數OnMouseDown()在具有2D碰撞體的多個遊戲對象上指示可觸摸區域來拍攝碰撞,並且我可以通過改變遊戲對象的位置來調整不同可觸摸區域的優先級。然而,隨着用戶界面的添加,對UI元素(按鈕,面板等)的任何接觸不僅會觸發UI元素,而且還會通過UI元素並觸發可觸摸區域。按下按鈕時非常奇怪,不僅按鈕被按下,而且還觸發(視覺上)「UI層」後面的拍攝動作。讓UI對象在聯合5中觸及的最優雅方式是什麼?

我可以想到的一種方法是添加一個碰撞器到UI元素,然後在運行時改變它的位置和大小到世界空間,並調整它的position.z值來吞噬UI上的所有觸摸。然而這看起來非常醜陋和不安全。

是否有任何優雅的方式讓所有的UI元素(基本上是面板)吞嚥觸摸?謝謝!

+0

這是互聯網上的十億倍重複。你可以通過搜索節省大量時間。這是Unity中最根本的日常問題。 http://answers.unity3d.com/questions/784617/how-do-i-block-touch-events-from-propagating-throu.html – Fattie

+0

[在Unity中在UI中註冊觸摸]的可能副本(http:// stackoverflow.com/questions/32997075/registering-touch-on-ui-inity) – Fattie

+0

@Joe Blow非常感謝您的幫助!在提出問題之前,我做了一些研究,但沒有找到任何最新和有用的信息。要麼因爲我的英語很爛,要麼我的搜索技巧很糟糕。也許兩個XD – ArtS

回答

相關問題