Среда, 29 Мая 2024, 15:55

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Объект со сцены внутрь пространства имен [Unity]
CoreДата: Четверг, 21 Июля 2022, 12:49 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Привет! Первый раз в своей жизни решил воспользоваться пространствами имен для лучшего инжениринга. Пытаюсь присвоить переменной с типом GameObject объект с текущей сцены, но мое решение не работает и Unity возвращает Object reference not set to an instance of an object.

Код:
Код

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;

namespace LogSystem
{
    public class Log : MonoBehaviour
    {
        public static TMP_Text messageText;

        private void Start()
        {
            messageText = GameObject.Find("DebugLog").GetComponent<TMP_Text>();
        }
    }
}




Сообщение отредактировал Core - Четверг, 21 Июля 2022, 12:50
drcrackДата: Четверг, 21 Июля 2022, 13:08 | Сообщение # 2
старожил
Сейчас нет на сайте
не совсем понятно причем тут пространство имен. без него все работает что ли?
CoreДата: Четверг, 21 Июля 2022, 13:15 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
drcrack, Да, закинул эту строчку кода непосредственно в объект на сцене. Все работает. Проблема возникает только когда использую пространство имен и делаю переменную статичной.

CoreДата: Четверг, 21 Июля 2022, 13:51 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
Проблему я исправил. Оказалось, что метод Start просто не вызывается внутри пространства имен в моем случае. Поэтому я изменил его на InitLogSystem
И теперь я вызываю Log.InitLogSystem(); в скрипте, объект которого лежит на сцене и все работает правильно.


drcrackДата: Четверг, 21 Июля 2022, 14:51 | Сообщение # 5
старожил
Сейчас нет на сайте
Цитата
Да, закинул эту строчку кода непосредственно в объект на сцене.

а он не на сцене был что ли?
CoreДата: Четверг, 21 Июля 2022, 15:04 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
drcrack, Да, скрипт был только в файловой системе. Наверно, поэтому start и не работал.



Сообщение отредактировал Core - Четверг, 21 Июля 2022, 15:08
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг