Посмотрел на то, что умеет нейросеть Gemini, сижуи и думаю, а стоит ли вообще замарачиваться написанием мануалов по скриптам? Если кому-то потребуеться код который был использован в сборке, тотже Chat GPT все разложит по шагам.
Но запросы неросетем тоже надо уметь составлять, да и перебирать скрипты спустя время в посках нужной строчки кода, при таких заметках, значительно упростит дело.
═══════⚓═══════
Чтобы получить значение переменой из одного скрипта в другом, вам нужно сначала получить ссылку на компонент другого скрипта, а затем получить доступ к его переменной.
Шаги:
1. В скрипте, где находится переменная (например, ScriptA):
2. Объявите переменную как public, чтобы она была доступна из других скриптов.
public class ScriptA : MonoBehaviour{
public float myFloatValue = 10.0f;}
public ScriptA scriptAInstance;
// Или другой тип скрипта, который содержит нужную переменную
- Через инспектор: Перетащите объект с ScriptA на слот scriptAInstance в инспекторе ScriptB.
- Программным путем (например, через FindObjectOfType или GetComponent):
// Пример получения по типу скрипта
scriptAInstance = FindObjectOfType<ScriptA>();
5. Получите значение переменной.
float receivedValue = scriptAInstance.myFloatValue;
Debug.Log("Полученное значение: " + receivedValue);
👉В скрипте ScriptB для использования полученого зачения нужно использовать имя переменой receivedValue, а ни myFloatValue из скрипта ScriptA.
Важно:
- Убедитесь, что объект, на который ссылается scriptAInstance, существует и имеет прикрепленный ScriptA.
- При использовании namespaces, в скрипте ScriptB в директиве using необходимо указать выбранное пространсвенное имя заданное в ScriptA, чтобы компилятор мог его найти.
- Если вы используете FindObjectOfType, убедитесь, что ScriptA был создан и активен на сцене, когда выполняется ScriptB.