Unity中的精灵碰撞

时间:2019-12-21 22:07:03

标签: c# unity3d sprite

当播放器(另一个2D精灵)统一进入其触发器时,如何使我的通电(一个2D精灵)自毁?

我都将它们都放在了第6层排序上(在sprite渲染器上)。我不太确定自己做错了什么。这是我目前的加电状态:

void OnTriggerEnter(Collider other)
{
    if (other.gameObject.name == "Player")
    {
        Debug.Log("Collided");
        Destroy(this.gameObject);
    }
}

1 个答案:

答案 0 :(得分:1)

您需要使用消息https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnTriggerEnter2D.html的2D版本

此外,至少一个对象需要一个刚体部件,如果它们还没有的话。

否则从技术上讲应该可以工作。不过,有更好的方法来检查碰撞的对象是否是玩家。您可能正在寻找易于设置且不太复杂的东西,在这种情况下,我建议给它一个layer(或tag),但标记有点烂,因为您只能拥有一个-在我看来,这并不是真正的标签),请检查该标签而不是名称。

哦,最后,在这种情况下,您不需要this关键字。