我正在创造一个fps游戏,我创造了枪,子弹和敌人。 现在我想在与子弹碰撞后让我的敌人被摧毁。 我的敌人是一个名为Fire的游戏对象并标记了Enemy,我的子弹名为“Cube 1(Clone)”并标记为“Cube 1(Clone)”。我为此制作了一个剧本:
#pragma strict
function OnTriggerEnter(theCollision : Collider)
{
if(theCollision.gameObject.name=="Cube 1")
{
Destroy(gameObject);
Debug.Log("Dead");
}
}
但它不起作用。
答案 0 :(得分:0)
您需要检查标签而不是名称。您可以检查姓名,但记住它会有“(克隆)”。
function OnTriggerEnter(theCollision : Collider)
{
if(theCollision.tag == "Cube 1")
{
Destroy(gameObject);
Debug.Log("Dead");
}
}
如果您不确定标记是否正确,可以在if语句中使用这两个检查。
if(theCollision.tag == "Cube 1" || theCollision.gameObject.name == "Cube 1(Clone)")
Destroy(gameObject);
答案 1 :(得分:-1)
因为子弹被标记为Cube 1(Clone)
,所以我会使用
if(theCollision.tag == "Cube 1(Clone)"){...}
并且可能会将标记重命名为有意义的内容,例如bullet
。