2

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

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

4

1 回答 1

6

该问题不需要代码主体。不过,我想出了一个解决办法。对于这两个 UI 元素,您需要:

  • 附加rigidbody2d组件
  • 附加一个盒子碰撞器组件
  • 禁用重力
  • 启用isTrigger复选框。

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

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

这将检测到碰撞。

于 2016-04-04T11:09:00.830 回答