Search Unity

Как перенести переменную из скрипта в другой скрипт.

Discussion in 'Getting Started' started by bruckles, Apr 1, 2017.

  1. bruckles

    bruckles

    Joined:
    Apr 1, 2017
    Posts:
    3
    Я понимаю, что я слишком тупой, но помогите мне. Я знаю вот эту команду:
    var script = gameObject.GetComponent(typeof(TestA)) as TestA;
    Но как взять из скрипта отдельную переменную и проводить над ней операции в другом скрипте?
    Ещё раз простите за мою бездарность.
     
  2. Schneider21

    Schneider21

    Joined:
    Feb 6, 2014
    Posts:
    3,512
    Добро пожаловать!

    Эти форумы в основном англоязычные, поэтому вам будет лучше удачи получить ответы, если вы печатаете на английском. Не беспокойтесь о ошибках перевода. Просто сделайте все возможное, и мы постараемся выяснить, что вам нужно.

    В вашем скрипте вы используете UnityScript. Это больше не используется. Сейчас почти все используют C #, поэтому, если вы еще рано учитесь, подумайте о переходе на C #.

    Как правило, для ссылки на компонент Unity из другого сценария вы делаете это следующим образом: (предполагая, что «gameObject» является ссылкой на объект, к которому прикреплен скрипт)

    Code (CSharp):
    1. MyComponent componentReference = gameObject.GetComponent<MyComponent>();
    Пожалуйста, дайте мне знать, если есть дополнительная информация, которую я могу предоставить, чтобы помочь. Прошу прощения за мой русский. Я являюсь носителем английского языка и вынужден полагаться на Google, чтобы перевести для меня.
     
    finndan2006 and Ryiah like this.
  3. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    He's using C# similar to how the manual shows it.

    Это C # похоже на то, как это показывает руководство.

    https://docs.unity3d.com/ScriptReference/GameObject.GetComponent.html

    He's just using the var keyword which makes the compiler determine the type.

    Он просто использует ключевое слово var, которое заставляет компилятор определять тип.

    https://msdn.microsoft.com/en-us/library/bb383973.aspx
     
    Last edited: Apr 2, 2017
  4. bruckles

    bruckles

    Joined:
    Apr 1, 2017
    Posts:
    3
    I figured it out a little, but produces an error when assigning a variable from another script. And thus at compilation all is normal. In Unity screen produces "Object reference not set to an instance of an object" on these lines:
    Code (CSharp):
    1. Stringmemory s = gameObject.GetComponent ("Window") as Stringmemory; //Stringmemory - function
    2. CN = s.Company;
    3. GD = s.GenDirecktor;
     
  5. bruckles

    bruckles

    Joined:
    Apr 1, 2017
    Posts:
    3
    Sorry for my English, but had to use google translate