@Deman1

Как сделать взаимодействие скриптов?

Здравствуйте, хочу поинтересоваться возможно ли вообще реализовать так, и как это сделать.
Вообщем у меня есть префаб который я создаю скриптом на префабе есть скрипт, я хочу частично управлять префабом который я создаю через скрипт который я создаю, например у меня есть 3 паблика на спавнере префаба в них значения скорости высоты и шерины, в спавнере тоже такие паблики и например я указываю какие то разные значения и они принимаются в скрипт префаба.

Если это реально пожалуйста дайте пример кода я дальше сам разберусь

Есть пару сомнений по этой системе, я собираюсь создавать этот префаб в update постоянно и значения которые будут в спавнере они будут не постоянны , то есть будет по идеи обновляться скрипт но только на значения, будут ли другие уже созданные объекты влиять с изменением перед созданием?
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ответы на вопрос 1
DanceM
@DanceM Куратор тега Unity Game Engine
Кто хочет -ищет способ, кто не хочет -ищет причину
Взаимодействие скриптов:

создали инстант префаба, в obj сохраняется ссылка на данный объект:
var obj = Instantiate(prefab);

нашли на инстанте свой скрипт:
var myScript = obj.GetComponent<MyClass>();

установили публичные значения или вызвали публичные методы:
myScript.myValue = someValue;
myScript.Jump();

Закончили.

Если надо менять другие созданные тем же путем объекты, то следует либо ссыли на них сохранять в массив где-то, при создании объекта, либо после искать через FindObjectsOfType<>() или GetComponentsInChildren<>(). Но оба данных метода весьма ресурсоёмкие и в Update() их не следует использовать, будет тормозить.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Mystery Tag Новосибирск
от 80 000 до 110 000 ₽
от 130 000 до 200 000 ₽
ПРОФЭЛИТ Казань
от 100 000 до 170 000 ₽
27 мар. 2020, в 12:53
150 руб./в час
30 мар. 2020, в 13:08
1000 руб./за проект
30 мар. 2020, в 12:30
400 руб./за проект