gpt4 book ai didi

c# - 销毁游戏对象后缺少引用的问题

转载 作者:太空宇宙 更新时间:2023-11-03 15:48:12 25 4
gpt4 key购买 nike

在我的游戏中,npc 应该攻击并摧毁一座房屋,该房屋在脚本中被指定为目标,但当房屋被摧毁时,会出现一条错误消息,指出缺少引用,这是我预料到的。 ..

但是我该如何解决呢?有没有办法在游戏对象被销毁后禁用目标变量?

这段代码在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"));
}
}

最佳答案

您可以检查 null 并避免该问题。

GameObject temp = GameObject.FindGameObjectWithTag("house");

if(temp != null)
targetHouse = temp.transform;

所以当 house 被销毁时,FindGameObjectWithTag() 将返回 null

关于c# - 销毁游戏对象后缺少引用的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27140554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com