在我的游戏中,npc假设攻击并摧毁一个房屋,该房屋被指定为脚本上的目标,但是当房屋被摧毁时,一个错误表明有一个缺失的引用,我预计会发生这种情况。 ..
但我该如何解决这个问题呢?有没有办法在gameObject被销毁后禁用目标变量?
这段代码在npc脚本
上void Start () {
force = 1000;
enemyHealth = 100;
enemyAttack = 20;
enemyDefense = 2;
bigFont= new GUIStyle();
bigFont.fontSize = 20;
target = GameObject.FindGameObjectWithTag("Player").transform;
targetHouse = GameObject.FindGameObjectWithTag("house").transform;
animator = GetComponent<Animator>();
}
这是在家庭剧本
void Update () {
if(houseHp<= 0){
Destroy(GameObject.FindWithTag("house"));
}
}
答案 0 :(得分:0)
您可以查看null
并避免此问题。
GameObject temp = GameObject.FindGameObjectWithTag("house");
if(temp != null)
targetHouse = temp.transform;
因此,当house
被销毁时FindGameObjectWithTag()
将返回null
。