Полезное
Мы Вконтакте
Discord канал
Одним из наиболее полезных аспектов внутри UMG, является возможность привязывать свойства ваших виджетов к функциям или свойствам внутри блупринтов. Привязав свойства к функции или к свойству переменной в вашем блупринте, то когда эта функция вызывается или свойство обновляется, то это отображается в виджете.
К примеру, у вас есть виджет Progress Bar, и вы хотите обновлять его, для показа уровня здоровья игрока. В разделе Appearance для Progress Bar, вы можете заметить опцию Percent с опцией прикрепления процентного значения к функции или свойству (показано ниже в жёлтой рамке).
После клика по кнопке Bind и выбора Creating Binding, создасться и откроется новая функция.
Return Value привязано к процентному значению, поэтому вы можете соединить значение для заполнения данными Progress Bar’а.
Выше показано, как функция получает переменную названную Player Health из блупринта нашего персонажа.Как только, переменная Player Health обновляется, она сразу же отображается в процентах на Progress Bar.
Property Binding состоит в том, чтобы уточнить свойство переменной которая была привязана к свойству виджета. Когда свойство переменной обновляется, то параметры привязанные к ней, автоматически обновляются и отображаются в виджете.
Пример привязки свойства переменной для кнопки, продемонстрирован ниже.
На картинке выше у нас 3 кнопки для главного меню: Continue, Start, and Quit, и нам надо, чтобы кнопка Continue была доступна, только если у игрока есть сохранение.В разделе Behavior для кнопки Continue, вы можете убрать галочку с IsEnabled (поэтому кнопка не будет включена по умолчанию), после чего кликнуть по кнопке Bind.
Во вкладке Graph для этого виджета блупринта, вы можете создать Boolean переменную и как только она будет создана, сможете назначить её посредством кнопки Bind (ниже мы создали Boolean названную DoesSaveExist?).
С помощью этой переменной, связанной с поведением IsEnabled, вы можете потом установить проверку, при запуске игры, существует ли файл сохранения, и если существует, вызвать виджет блупринта для доступа и установки переменной DoesSaveExist в значение True, которое потом включает кнопка.