0

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

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

然而,这个脚本似乎没有检测到与它碰撞的 Miner sprite。我确定我是从 MonoBehavior 派生的,所以这不是问题。

4

2 回答 2

2

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

于 2019-11-21T00:27:13.827 回答
0

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

于 2019-11-21T06:25:55.043 回答