Войти
Unreal EngineФорумОбщее

Получение переменных из уровня

#0
(Правка: 15:16) 15:15, 22 фев 2022

Каким образом можно получать переменные из уровня, который сейчас открыт? Сделал в уровне отсчет времени и хочу в виджете блюпринта получать переменную из этого уровня, отображающую секунды.

#1
15:19, 22 фев 2022

Я бы рекомендовал хранить какие-то зависимые переменные в game mode, если что-то между уровнями передавать, то в game instance.

#2
16:05, 22 фев 2022

TommYMoonlight
такие вещи в контроллере должны быть

#3
(Правка: 19:20) 19:19, 22 фев 2022

1. Создай виджет в уровне, объяви как переменную, обращайся к функциям внутри виджета.
2. Создай виджет где угодно (в любом блупринте), выдели в редакторе блупринт, перейди в блупринт уровня, нажми правой кнопкой мыши и объяви его там, либо через GetAllActorsOfClass, обращайся к фунуциям внутри виджета.
3. Создай переменную в PlayerController типа string, добавь функцию со входным параметром числа внутри преобразовывай число в строку и присваивай своей переменной, в самом виджете на Create - GetPlayerController - объяви переменную (от PlayerController). Теперь ты добавь текстовое поле где ты должен выводить отсчет и в правой части станет доступна та переменная которую ты создал в PlayerController. Она будет меняться автоматически с изменением в PlayerController. Все что тебе осталось это в блупринте уровня прописать ображение к функции которая находится в плеер контроллере. GetPlayerController - Cast to (Название твоего контроллера) и вызов функции которую ты там создал для передачи параметра. Тоже самое можно делать с GameInstance, если нужно сохранить параметры между уровнями, ну или какую либо статистику.

3 варианта.

Unreal EngineФорумОбщее