@yraiv

Как передать данные в другой скрипт?

Как передать данные в другой скрипт? я создаю объект в своём скрипте и мне нужно передать в него некоторые int и float данные, как это можно сделать? но не через find, а именно при создании как-то отдать данные ему.
Создаю так
Rigidbody2D clone = Instantiate(bullet, gunPoint.position, Quaternion.identity) as Rigidbody2D;
            clone.velocity = transform.TransformDirection(gunPoint.right * speed);
            clone.transform.right = gunPoint.right;
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos Куратор тега Unity
Вы создаете объект, а не скрипт. Возьмите у объекта нужный скрипт (компонент) (GetComponent) и ему уже передавайте.

Конкретно при создании - никак. Только сразу после создания
Ответ написан
@NIKROTOS
Начинающий программист.
Сделать эти данные публичными/сделать публичный метод, который их вернёт.
На компоненте, которому нужны данные, создать требуемый публичный объект/переменные.
После можно перетащить объект(переменные) с этими данными(методом) из древа объектов/сцены на публичную переменную компонента, которому требуются эти данные, он сам найдёт нужный компонент и создаст ссылку на него. По ссылке вызываем переменную/метод. Можно сделать через код, используя GetComponent.

Поиск по тегам/названию компонента, использовать не советую, можно попробовать реализовать связь через иерархию.

Есть ещё паттерн одиночка, на такой объект можно сослаться из любой точки программы, но он должен быть в единственном экземпляре. Можно сделать объект с которого требуются сведенья, одиночкой или передавать эти данные через одиночку.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы