Я написал простой скрипт для включения и выключения изображения при включении и отключении.Он хорошо работает во время воспроизведения и ничего плохого, но консоль постоянно сообщает мне об этой ошибке:
MissingReferenceException: объект типа 'Image' был уничтожен, но> вы все еще пытаетесь получить к нему доступ.Ваш скрипт должен либо проверять, является ли он нулевым, либо вы не должны уничтожать объект.checkifdone.OnDisable () (at Assets / checkifdone.cs: 38)
Код, который я написал, выглядит так:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class checkifdone : MonoBehaviour
{
public AudioSource checkwin;
public GameObject wincheck;
public Image neontastic;
public Image neontasticd;
public AudioSource ambient;
public AudioSource music;
public AudioSource deathamb;
public GameObject blackout;
// Start is called before the first frame update
void Start()
{
wincheck.gameObject.SetActive(false);
neontastic.enabled = false;
neontasticd.enabled = false;
}
private void OnEnable()
{
checkwin.Play();
neontastic.enabled = true;
neontasticd.enabled = true;
}
private void OnDisable()
{
checkwin.Stop();
neontastic.enabled = false;
neontasticd.enabled = false;
}
}
Изображение, на которое он ссылается, не уничтожается, иэто все еще дает мне ошибку.Я попытался удалить neontastic = false, чтобы посмотреть, исправит ли это.Ошибка исчезла, но изображение больше не исчезает при необходимости.Я снова включаю код, проблема сохраняется в консоли.
Имейте в виду, что, несмотря на ошибку, игра работает должным образом, но она вызывает ошибки.
Как мне это исправить?