【问题标题】:Unity 2D On Collision (Do Something) not working?Unity 2D On Collision(做某事)不起作用?
【发布时间】:2019-11-20 23:59:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: unity3d sprite mesh-collider


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2017-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多