Unity中UI元素之间的冲突

时间:2016-04-04 10:07:17

标签: unity3d collision-detection unity3d-gui

如果我的画布在世界空间中渲染,我能够检测UI组件和游戏对象之间的冲突。在这里,当画布渲染模式是屏幕空间叠加时,我试图找到两个UI元素(比如UI按钮)之间的碰撞。

我在我的UI按钮中添加了盒式对撞机组件,并尝试使用OnCollisionEnter2D和OnTriggerEnter2D。但是,没有检测到碰撞。有没有办法检测碰撞?

1 个答案:

答案 0 :(得分:3)

这个问题不需要代码体。但是,我已经找到了解决方案。对于两个UI元素,您需要:

  • 附加rigidbody2d组件
  • 附加盒子对撞机组件
  • 禁用重力
  • 启用isTrigger复选框。

现在在附加到其中一个UI元素的脚本中:

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

这会检测到碰撞。