@nika09

Как использовать переменную из одного скрипта в другом?

Например есть две сцены, Scene1 и Scene2
В Scene1 есть скрипт Script1, в котором есть переменная root, весит на объекте rt, а в Scene2 есть скрипт Script2.
Подскажите пожалуйста, как использовать переменную root в скрипте Script2??
public class Test : MonoBehaviour
{
Script1 myscript;
void Start()
	{
		myscript = GameObject.Find("rt").GetComponent<Script1> ();
	}
}


Такой код не срабатывает, видимо где то нужно еще учитывать сцену, подскажите пожалуйста как решить такую проблему??
  • Вопрос задан
  • 1048 просмотров
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
Если сцены не загружены обе в текущий момент - то вы не можете постучаться из одной в другую.
Это все равно что пробовать найти кровать на кухне. (кухня, спальня - разные комнаты/сцены)
Вам или делать это статичным классом/переменной, или не уничтожаемый объект , который будет оставаться в сцене при загрузке новой.
Или все же подгрузить аддитивно обе сцены..чтоб можно было искать в обоих)

Используя аналогию выше, вы построили бы не кухню или спальню. а дом из кухни и спальни, а там уже искали бы свою кровать в них)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Di-Roll
По идее код должен работать, если переменная root публичная и на сцене есть объект rt, у которого есть компонент Script1.

answers.unity3d.com/questions/42843/referencing-no...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы