Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on Dec 8, 2022, between 7 am & 7 pm EST, in the DOTS Dev Blitz Day 2022 - Q&A forum, Discord, and Unity3D Subreddit to learn more about DOTS directly from the Unity Developers.
    Dismiss Notice
  3. Have a look at our Games Focus blog post series which will show what Unity is doing for all game developers – now, next year, and in the future.
    Dismiss Notice

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

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,499
    Добро пожаловать!

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

    В вашем скрипте вы используете 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:
    18,260
    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