unity3d OnTriggerEnter2D未检测到

nkhmeac6  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(182)

我有一个连接了对撞机的空物体,它跟随着鼠标。“是触发器”框没有选中,就这样。
现在,在我的另一个对象上,我也添加了一个碰撞器(当然是二维的),并将其设置为“is trigger”= true,但我也尝试了取消选中该框。
当进入触发“区域”时,应执行以下代码:

public void OnTriggerEnter2D(Collider2D collider)
{
    print("found coin");
    manager.AddCoin();
    Destroy(gameObject);
}

但事实并非如此,我该怎么解决这个问题?

lsmepo6l

lsmepo6l1#

听起来你需要一个RigidBody2D附加到你的第一个gameObject(你正在移动的那个)。要检测碰撞,至少一个对象必须有这个组件(在Docs中获得更多信息)

xienkqul

xienkqul2#

我 * 认为 * 你需要你的一个对象有一个Rigidbody2D附加到它,以便物理引擎真正参与和检测碰撞(甚至触发)。
文件似乎暗示:
https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnTriggerEnter2D.html
注意:仅当其中一个碰撞器还附加了Rigidbody2D时,才会发送触发事件.触发事件将发送到禁用得MonoBehaviours,以允许启用行为来响应碰撞.

相关问题