【发布时间】:2019-03-14 16:44:59
【问题描述】:
我有一个项目,我必须统一创建一个无尽的跑步游戏。我遇到的问题是在游戏的碰撞方面,球体和其中一个物体发生碰撞,我希望球体被摧毁。这是我的代码:
private void OnCollisionEnter(Collision other)
{
if (other.gameObject.tag == "lethal")
{
Destroy(gameObject);
}
}
我将游戏中的对象标记为lethal。问题是即使使用此代码,球体在碰撞时也不会被破坏,而只是阻止球而不是破坏球的障碍。
有什么帮助吗?不知道我做错了什么
【问题讨论】:
-
关于第二部分和障碍物,你的对撞机是触发器吗?
-
可能是
Destroy(other.gameObject);? -
不确定它是否会对您的问题产生任何影响,但只是一点评论。您不应该使用 == 来比较字符串类型,而是使用: other.gameObject.tag.equals("lethal")
-
@Niklas7 实际上在 C# 中,它们的工作方式相同。在 Java 中,它们的工作方式不同 :)
-
你应该使用 CompareTag(),它的效率要高得多