为什么我的名为“ pipo”的GameObject没有销毁 这是我的脚本:
private void OnTriggerEnter(Collider other) { if (other.gameObject.name == "pipo") { Destroy(other.gameObject.transform.parent.gameObject); } }
答案 0 :(得分:5)
尝试稍微修改一下代码,首先通常应使用CompareTag()
,当给定的标记不存在时,它会发出错误消息。
此后,您可以添加检查以查看游戏对象是否具有父对象,并根据该对象销毁其父对象或自身。
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("pipo")){
return;
}
if(other.gameObject.transform.parent) {
Destroy (other.gameObject.transform.parent.gameObject);
}
else {
Destroy ( other.gameObject);
}
}
当物体仍然没有被销毁时,您需要确保: