Unity中的无尽亚军

时间:2019-03-14 07:19:27

标签: c# unity3d

我有一个项目,我必须统一创建一个无尽的跑步游戏。我的问题在于游戏的碰撞方面,其中球体与其中一个物体碰撞,我希望球体被销毁。这是我的代码:

private void OnCollisionEnter(Collision other)
{
    if (other.gameObject.tag == "lethal")
    {
        Destroy(gameObject);
    }                      
}

我将游戏中的对象标记为lethal。问题在于即使使用此代码,球体在碰撞时也不会被破坏,而只是阻碍球而不是破坏球的障碍。

有帮助吗?不知道我在做什么错

1 个答案:

答案 0 :(得分:1)

  • 禁用它们之间的物理关系。如果您的游戏停滞并且销毁速度很慢,那么您的“跑步者”将对此感到不安
  • 在触发时代替对撞机使用
  • 请勿使用带有==的字符串比较,而应按照@Jichael的建议使用equals或CompareTag。

如果您真的想使用物理学,请为跑步者创建一个子对象,它应该触发碰撞而不是跑步者。并将标签赋予该子对象