Заголовок объясняет все это, я хочу знать, как обращаться к переменным из другого сценария. Я искал в Интернете, но не нашел ничего, что сработало.Как использовать переменные в отдельном скрипте в Unity3D?
ответ
Вы можете сделать class
, создать экземпляр object
класса и получить доступ к протекторам. Или вы можете использовать переменные static
. Или даже beter, скажем, у вас есть сценарий GameManager.cs
, прикрепленный к пустующему объекту GameManager. И вы хотите получить доступ к своим переменным из сценария LevelManager.cs
. Вы можете сделать это внутри LevelManager.cs
public GameManager gameManager;
Затем вы можете перетаскивать GameManager пустой объект в этом общественном поле, и каждый раз, когда вы хотите получить доступ к переменной вы типа gamemanager.yourVariableHere
Или, если вы не хотите, чтобы перетащить и падение : в методе запуска ...
void Start()
{
gameManager = GameObject.Find("GameManager");
//this way it finds your object automatically
}
Надеется, что это помогло, удачи.
Прежде всего вам нужно сделать свои переменные общедоступными. Затем получите GameObject, получите Компонент и получите доступ к своей переменной.
var variable = GameObject.Find("name").GetComponent<ScriptClass>().yourVariable;
Чтобы добавить к предыдущему ответу, если ваш класс является чистым C# класс и оленья кожа наследоваться от monbehaviour затем должен создать экземпляр класса. Если вам нужен глобальный доступ к определенным переменным, вы должны изучить статические переменные или реализовать одноэлементный шаблон.
Спасибо, что помогли мне, даже когда у моего поста был счет -3. Это сработало, спасибо! – user3583094
Без проблем, рад, что это сработало ^. ^ –