Настройка Widget Blueprint для виртуальных клавиатурных интерактивов в Unreal Engine 4

0
73
Настройка Widget Blueprint ue4

На этом этапе мы создаем макет наших интерактивных Виджетов пользовательского интерфейса и скрипт того, что происходит при нажатии кнопки.

Шаги

  1. Откройте KeypadDisplayWB и замените Canvas Panel в иерархии поля TextBox, завернутого в поле Size Box.KeypadDisplayWB ue4
  2. Для поля Size Box установите значение Desired on Screen и измените значение Width и Height на 100×50.параметр Desired on Screen ue4
  3. Для поля Text Box установите значение параметра Hint Text на 1212 и настройте значение для Font Size на 28.параметр Hint Text ue4

Например, игрок должен использовать клавиатуру для ввода текста 1212, чтобы сигнализировать об успешном вводе, но вы можете использовать любое желаемое значение.

4. Откройте KeypadWB и установите Иерархию вверх, чтобы создать 3 кнопки с текстом 0, 1 и 2 на них, как показано ниже.Иерархия в KeypadWB ue4

Вы также можете нажать F2 на каждой из кнопок в иерархии, чтобы изменить их имена для отражения – какой кнопкой они являются.

5. Добавьте второй Horizontal Box (горизонтальный блок), содержащий две Кнопки с текстом, один из которых установлен на Del, а другой – на Ent.Кнопки Del и Ent ue4

Наша клавиатура будет иметь только три цифровые кнопки и две другие для удаления (Del) или фиксации (Ent) записей.

6. Удерживайте Ctrl и выберите каждую из ваших кнопок, затем установите для параметра Is Focusable значение False для каждой из них.параметр Is Focusable ue4

Чтобы наша настройка работала, нам нужно убедиться, что никакие другие виджеты, с которыми мы взаимодействуем, не будут отвлекаться от Виджета Отображения Клавиатуры. Если мы оставим для них значение – true, когда мы нажмем кнопку, фокус будет удален с дисплея клавиатуры и смещен на кнопку, что не позволит нам передавать нажатие клавиши и значение на дисплей клавиатуры.

7. На Графике добавьте События OnClicked для каждой кнопки.События OnClicked ue4

8. Создайте две Переменные – тип String с именем CharToSend и WidgetInteractionComponent с именем WidgetInteraction.тип переменной CharToSend ue4

9. Удерживайте Alt и перетащите в CharToSend и подключитесь к событиям OnClicked, затем установите значение переменной, как показано здесь.события OnClicked ue4

10. Удерживая нажатой кнопку Ctrl, перетащите курсор в WidgetInteraction, затем выключите его Send Key Char и соедините События CharToSend и OnClicked.Настройка персонажа для виртуальных клавиатурных интерактивов ue4

Здесь мы используем функцию Send Key Char, так как текстовые поля в Slate не получают ключи, отправленные непосредственно им, например, они не распознают, что была нажата кнопка A, поэтому отправляют A через. Вместо этого они слушают Send Char, тот способ, которым код операционной системы нижнего уровня может делать такие вещи, как определение, удерживался ли Shift при нажатии кнопки A или была ли включена функция Caps Lock при нажатии кнопки A.

11. Отключите Del у события OnClicked, используйте Press and Release Key, установив значение Backspace из переменной WidgetInteraction.Press and Release Key ue4

12. Создайте Диспетчер События под названием EnterPressed и вызовите его из OnClicked(Ent).диспетчер события EnterPressed ue4

Конечный результат

Наши Widget Blueprints настроены для отображения нашей клавиатуры и дисплея клавиатуры, затем мы добавим их в качестве Компонентов Виджетов в наши Actor Blueprints, чтобы они могли отображаться на нашем уровне. К концу следующего шага мы сможем протестировать нашу систему и взаимодействовать с обоими элементами во время игры.

 

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя: