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

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

У нас на сцене есть объект А (Object A) и объект Б (Object B), также я создал два скрипта (ScrtptA и ScriptB). На объекты повесил скрипты с соответствующей буквой.
Unity_axjMRfqchf.png
В скрипте А находится переменная типа Int.
C#:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

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

public class ScriptB : MonoBehaviour
{
    public ScriptA scr;

    void Start()
    {
        scr.speed = 10;
    }  
}
То есть мы создаём переменную где в качестве типа данных мы указываем название скрипта, а точнее класс, но это одно и тоже поскольку название главного класса скрипта соответствует названию файла в котором он находится.
Unity_hwsFV98vsd.png
Внутрь переменной помещаем наш объект (со скриптом).
Если я что-то важное упустил пишите, я исправлю. Это маленький гайд для новичков, не судите строго.
 
Начинающий
Статус
Оффлайн
Регистрация
20 Ноя 2020
Сообщения
4
Реакции[?]
1
Поинты[?]
0
Вы получаете доступ к скрипту, а если на сцене множество компонентов с этим скриптом? Лучше получать доступ по средствам GetCopmonent<>
 
Сверху Снизу