В моей игре npc предполагает атаковать и уничтожать дом, который назначается в качестве цели в скрипте, но когда дом разрушен, ошибка говорит о том, что отсутствует ссылка, которую я ожидал ...Проблема с отсутствием ссылки после того, как объект gameObject уничтожен
Но как я могу это исправить? Есть ли способ отключить целевую переменную после уничтожения объекта gameObject?
этот кусок кода на ВСНП сценария
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"));
}
}
я попытался вставить этот код, но он не работает, просто уточнить, увидеть, если им делать это правильно: // я объявить переменную Temp общественного геймобжекты темп; // затем присвоить его значение при запуске void Start() { temp = GameObject.FindGameObjectWithTag ("casa"); } // оператор if должен быть вставлен где? примечание: im, использующий FSMStates с enum –
@GabrielFerraz 'temp' должен быть объявлен правильно там, где я его помещаю, внутри функции, например' Start() 'или' Update() '. Это означает, что вы бы поместили мой код везде, где вы уже делали этот кусок кода: 'targetHouse = GameObject.FindGameObjectWithTag (" house "). Transform;' – FunctionR