YugGO
@YugGO

По какой причине не работает null в Unity?

В коде:
public Text infoObjectText;

private void Update()
    {
        float dis = 3.5f;

        RaycastHit hit;

        if (Physics.Raycast(playerCamera.GetComponent<Camera>().transform.position, playerCamera.GetComponent<Camera>().transform.forward, out hit, dis))
        {
            InfoObject infoObject = hit.transform.GetComponent<InfoObject>();

            if (infoObject != null)
            {
                infoObjectText.enabled = true;
            }
            
            else if (infoObject == null)
            {
                infoObjectText.enabled = false;
            }
        }
    }


Этот элемент кода у меня не работает:
else if (infoObject == null)
{
      infoObjectText.enabled = false;
}


На сцене просто один кубик, со скриптом "InfoObject". И когда я навожу центром камеры на куб, "infoObjectText" включается, а если не смотреть, то "infoObjectText" не отключается.
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 2
vabka
@vabka
Токсичный шарпист
У вас видимо компонент не становится null. Попробуйте другой способ.
PS: Код можно упростить до infoObjectText.enabled = infoObject != null;
Ответ написан
NevePMoPe
@NevePMoPe
Да, соглашусь попробуйте выше описанным методом infoObjectText.enabled = infoObject != null;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы