Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Все Гайды Мой Кабинет

Как получить ссылку / добавить / отключить / удалить компонент из скрипта

Приветствую начинающих разработчиков Unity. В данной статье мы рассмотрим сразу четыре возможности, которые можно реализовать с компонентами объекта, через скрипт, а именно: получение ссылки на компонент, добавление компонента, отключение компонента и удаление компонента.

Давайте пройдёмся по порядку.

Получение ссылки на компонент

Предположим, у нас имеется переменная obj, которая хранит в себе ссылку на наш объект. И нам необходимо получить ссылку на компонент данного объекта, например, на компонент Rigidbody. Для этого воспользуемся методом GameObject.GetComponent.

Rigidbody _rb = obj.GetComponent<Rigidbody>();

Тепер в переменной _rb у нас имеется ссылка на компонент Rigidbody, объекта obj. Так же убедитесь в том, что компонент, на который вы хотите получить ссылку, добавлен к Вашему объекту, иначе данный код работать не будет.

Добавление компонента

Как и в предыдущем примере, предположим, у нас имеется переменная obj, которая хранит в себе ссылку на наш объект.

Там нам необходимо добавить компонент для нашего объекта. Для этого нам понадобится метод GameObject.AddComponent. Воспользуемся им, добавив компонент, например, Rigidbody:

Rigidbody _rb = obj.AddComponent<Rigidbody>();

Готово! К объекту obj мы добавили компонент Rigidbody, и в переменную _rb записали ссылку для её хранение. Но на самом деле хранить ссылку на добавленный компонент не обязательно, поэтому, Вы можете обойтись и без этого.

Отключение компонента

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

Предположим, что у Вас имеется переменная _rb, которая хранит в себе ссылку на какой-либо компонент.

У любого компонента имеется свойство enabled, которое принимая значения true и false, включает и отключает компонент соответственно. Воспользуемся им:

_rb.enabled = true;

Данный код отключит Ваш компонет. А чтобы его опять включить, поменяйте значение true на false.

_rb.enabled = false;

Удаление компонента

Удаление компонента, пожалуй, самое простое из всех тем этой статьи. За удаление компонента отвечает метод Destroy.

Destroy(_rb);

Так же убедитесь, что в переменной _rb имеется ссылка на Ваш компонент, который Вы хотите удалить.

На этом всё, теперь Вы умеете работать с компонентами :) Если остались вопросы, задавайте их в комментариях.

Вы можете отблагодарить автора донатом. ₽ Спасибо

Комментарии

0
Будьте первым, кто оставит комментарий к этому посту
Гости не могут оставлять комментарии. Войдите на Сайт или Зарегистрируйтесь