If-Statement 没有被遵守

在我的 Unity 项目中,我有一个附加到几个预制件的脚本。每隔几秒钟就会产生一个随机预制件。这是我所附脚本的一部分:


private void OnCollisionEnter2D(Collision2D collision)

{

    if (collision.transform.CompareTag("ground"))

    {

        if (transform.gameObject.name == "FallingKeule(Clone)") 

        {

            Destroy(transform.gameObject);

        }

        if (transform.gameObject.name == "FallingHeart(Clone)")

        {

            Destroy(transform.gameObject);

        }

        if (transform.gameObject.name == "FallingCup(Clone)")

        {

            Destroy(transform.gameObject);

        }

        else

        {

            print("You lost a life!");

            Player.GetComponent<Colliding>().LostLife();

            Destroy(transform.gameObject);

        }               

    }

}

如果一个游戏对象是随机产生的并且它击中了地面,并且它是一个“FallingKeule(Clone)” -->“(Clone)”,因为预制件是通过它的初始化代码来克隆的


if (transform.gameObject.name == "FallingKeule(Clone)") 

没有完成!else代码已经完成:


else

{

    print("You lost a life!");

    Player.GetComponent<Colliding>().LostLife();

    Destroy(transform.gameObject);

}


慕慕森
浏览 101回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP