Использование переменных из других сцен (Годо)

У меня есть две сцены (Профиль и Логин), и я хочу использовать переменную new_profile из Профиля и использовать ее в Логине, но когда я автоматически загружаю Профиль и помечаю его как одноэлементный, это не позволяет мне запустить программу и выдает ошибку индекса и говорит, что узлы, на которые есть ссылки в моих переменных, не существуют, хотя до того, как я его автозагрузил, он работал отлично


person Snowy Diamond    schedule 22.12.2020    source источник
comment
Привет, добро пожаловать в SO! Не забудьте включить свой код и минимальный воспроизводимый пример stackoverflow.com/help/minimal-reproducible-example   -  person Joshua    schedule 22.12.2020


Ответы (1)


Для решения этой задачи вы должны использовать синглтон. Годо называет это автозагрузкой. Перейти к проекту - ›Настройки проекта -› Автозагрузка. Щелкните значок папки. Добавьте свой файл gdscript с необходимыми переменными. Это автоматически заполнит поле справа. Вы можете редактировать это имя по своему усмотрению. Затем нажмите «Добавить». Когда вы играете в свою программу, эти переменные будут доступны любому скрипту через этот код. Официальное объяснение и код Godot доступны здесь.

PlayerVariables (добавлено в автозагрузку)

var player_vars = get_node("/root/PlayerVariables")

player_vars.health -= 10

Or

PlayerVariables.health -= 10
person Derek Z    schedule 04.01.2021