Установка и тестирование Актера для виртуальных клавиатурных интерактивов в Unreal Engine 4

0
23
Установка и тестирование Актера для клавиатурных интерактивов ue4

В этом последнем разделе мы добавляем наши Widget Blueprints в качестве Виджет Компонентов к нашим актерам и определяем, что происходит, когда игрок нажимает кнопку Ввода, проверяя, совпадает ли введенный текст с нашим GoalText. Имея все в наличии, мы проводим тестирование, чтобы увидеть конечный результат, который выводит Success на экран, если код правильный, или Wrong Code, если код неправильный.

Шаги

  1. Откройте KeypadDisplay Blueprint и добавьте Widget компонент с классом, установленным на KeypadDisplayWB и Draw at Desired Size.KeypadDisplay Blueprint ue4

Рисование в нужном размере – это быстрый способ заставить цель рендеринга автоматически соответствовать желаемому размеру в Widget Blueprint.

2. Откройте Keypad Blueprint и добавьте компонент Widget с классом, установленным в KeypadWB и Draw at Desired Size.

3. Снимите флажок Window Focusable для этого Виджет Компонента.опция Window Focusable ue4

Мы не хотим, чтобы этот компонент отвлекал внимание от виджета Keypad Display, поэтому его необходимо отключить.

4. Также внутри клавиатуры добавьте компонент WidgetInteraction с параметром Enable Hit Testing, установленным на значение false.параметр Enable Hit Testing ue4

Мы добавляем этот компонент WidgetInteraction, чтобы нам не нужно было получать ссылку на компонент WidgetInteraction в персонаже игрока, и мы отключаем Hit Testing (тестирование попаданий), поскольку не хотим, чтобы он генерировал какие-либо эффекты при наведении. Компонентам WidgetInteraction по умолчанию присваивается Virtual User Index 0, когда они создаются, и все они взаимодействуют с использованием идентификатора индекса виртуального пользователя. Поскольку компонент WidgetInteraction в персонаже игрока также использует Virtual User Index 0, это то же самое, что получить ссылку на него.

5. В Графике Клавиатуры отключите Event Begin Play, возьмите компонент Widget и подключите его и Get User Widget Object к Cast to KeypadWB.параметр Cast to KeypadWB ue4

6. Отключите вывод As Keypad WB, установите Widget Interaction и пройдите через компонент WidgetInteraction из Шага 4.

7. Также на выводе As Keypad WB вызовите Assign Enter Pressed, который создаст Пользовательское Событие Enter Pressed.Пользовательское Событие Enter Pressed ue4

Теперь, когда мы нажимаем кнопку Ввода, вызывается это пользовательское событие, которое мы можем использовать для проверки правильности введенного кода.

8. Создайте Переменную Актера типа для Keypad Display с именем TargetDisplay и установите для нее значение Editable.тип переменной Keypad Display ue4

9. Создайте Переменную типа Text с именем GoalText, затем Скомпилируйте и установите значение для Default Value на 1212.переменная GoalText ue4

10. Удерживайте Ctrl и перетащите в TargetDisplay для получения Виджета и User Widget Object, затем Cast to KeypadDisplayWB.Cast to KeypadDisplayWB ue4

11. Отключите пин As Keypad Display WB, возьмите Editable Text Box и GetText(Text Box) для проверки соответствия Goal Text.Editable Text Box ue4

12. Добавьте Ветви с двумя Print Strings, где нужно отключить True (используйте Success) и False (используйте Wrong Code).Установка и тестирование Актера для клавиатурных интерактивов ue4

13. Перетащите Keypad и KeypadDisplay Blueprints на уровень и поверните или расположите их, как вам нужно.

14. На панели Details для Объекта Keyboard установите для переменной Target Display значение KeypadDisplay на уровне.KeypadDisplay ue4

15. Воспроизведите на уровне.

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

Подойдите к дисплею клавиатуры и щелкните правой кнопкой мышки, чтобы сфокусироваться на нем. Вы можете посмотреть на кнопки и щелкнуть по ним правой кнопкой мышки, чтобы выполнить команду Send Key Char и передать значение на дисплей. Мы используем правую кнопку мышки для взаимодействия с виджетами на уровне, но вы можете поменять ее местами, чтобы использовать нажатия кнопок геймпада или контроллера движения.

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

 

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

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