Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Гайд Доступ к переменной расположенной в другом скрипте в Unity

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
26 Авг 2016
Сообщения
21
Реакции
3
Приветствую форумчане, это мой первый гайд, так что не бейте сильно. Я увидел вопрос на форуме и решил сделать это.
В Unity работает система объектов, почти каждый объект изначально имеет один компонент (Transform), а дальше мы сами добавляем те компоненты которые нам нужны и получаем нужный результат. Скрипты в Unity это компоненты (и наоборот) которые взаимодействуют с движком, поэтому принцип работы со скриптами такой же как обычными компонентами.

У нас на сцене есть объект А (Object A) и объект Б (Object B), также я создал два скрипта (ScrtptA и ScriptB). На объекты повесил скрипты с соответствующей буквой.
Unity_axjMRfqchf.png

В скрипте А находится переменная типа Int.
C#:
Expand Collapse Copy
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ScriptA : MonoBehaviour
{
    public int speed;
}
В скрипте Б мы делаем доступ
Код:
Expand Collapse Copy
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ScriptB : MonoBehaviour
{
    public ScriptA scr;

    void Start()
    {
        scr.speed = 10;
    }  
}
То есть мы создаём переменную где в качестве типа данных мы указываем название скрипта, а точнее класс, но это одно и тоже поскольку название главного класса скрипта соответствует названию файла в котором он находится.
Unity_hwsFV98vsd.png

Внутрь переменной помещаем наш объект (со скриптом).
Если я что-то важное упустил пишите, я исправлю. Это маленький гайд для новичков, не судите строго.
 
Вы получаете доступ к скрипту, а если на сцене множество компонентов с этим скриптом? Лучше получать доступ по средствам GetCopmonent<>
 
Назад
Сверху Снизу