2016-04-04 96 views
0

如果我的畫布在世界空間中呈現,我能夠檢測UI組件和gameobject之間的衝突。在這裏,當畫布渲染模式是屏幕空間疊加時,我試圖找出兩個UI元素(比如UI按鈕)之間的碰撞。Unity中UI元素之間的衝突

我將box collider組件添加到了我的UI按鈕,並嘗試使用OnCollisionEnter2D和OnTriggerEnter2D。但是,沒有檢測到碰撞。有沒有辦法來檢測碰撞?

回答

2

該問題不需要代碼體。但是,我已經找到了一個解決方案。雙方的UI元素,你需要:

  • 附上rigidbody2d組件
  • 附上一盒撞機部件
  • 禁止重力
  • 啓用isTrigger複選框。

現在連接到用戶界面元素的一個劇本:

void OnTriggerEnter2D(Collider2D other) 
{ 
    Debug.Log ("Triggered"); 
} 

這將檢測到衝突。

+0

謝謝你Nahuel –

+0

關掉重力就是爲了防止UI元素掉下來?或者是否有必要進行實際的碰撞檢測? – LilaQ

+0

這只是爲了防止UI元素崩潰。 –