Unity 2D On Collision(发生冲突)不起作用吗?

我知道这个问题可能已经问过很多遍了,但是我还是要再问一次。由于某种原因,我的对撞机无法工作。我在块精灵上有一个,在“矿工”精灵上有另一个。当我点击“播放”时,两者开始相互重叠。 (我不确定这是否重要,似乎没有什么区别。)每个人都有一个Box Collider 2D。在分配给其中之一的脚本中,它试图查看冲突。

void OnCollisionEnter2D(Collision2D collision)
{
    if (col.gameObject.name == "Miner")
    {
        GameObject.Find("Miner").getcomponent<miner>().block = block;
    }
}

但是,此脚本似乎无法检测到与之碰撞的Miner Sprite。我确定我是从MonoBehavior派生的,所以在那儿不是问题。

HU9694 回答:Unity 2D On Collision(发生冲突)不起作用吗?

两个GameObject是否都附有RigidBody2D?在任何给定的碰撞中,至少一个GameObject需要具有RigidBody。

,

在代码中添加一些调试语句,以确保此方法未运行。您应该统一阅读here关于碰撞的信息。确定这些对象是否将移动,并设置适当的对撞机。如上所述,您通常需要一个刚体。

本文链接:https://www.f2er.com/3061686.html

大家都在问