Sun*_*air 2 collision-detection unity-game-engine unity3d-gui
如果我的画布在世界空间中渲染,我能够检测到 UI 组件和游戏对象之间的碰撞。在这里,当画布渲染模式是屏幕空间覆盖时,我试图找到两个 UI 元素(比如 UI 按钮)之间的冲突。
我向我的 UI 按钮添加了框碰撞器组件并尝试使用 OnCollisionEnter2D 和 OnTriggerEnter2D。但是,未检测到碰撞。有没有办法检测碰撞?
该问题不需要代码体。不过,我已经想出了一个解决方案。对于这两个 UI 元素,您需要:
rigidbody2d组件isTrigger复选框。现在在附加到 UI 元素之一的脚本中:
void OnTriggerEnter2D(Collider2D other)
{
Debug.Log ("Triggered");
}
Run Code Online (Sandbox Code Playgroud)
这将检测到碰撞。