Сбой TouchScreenKeyboard в выпуске UWP Build на Xbox (с использованием Unity) - PullRequest
0 голосов
/ 24 июня 2019

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

Для некоторого контекста: Мы работаем над игрой, которая будет опубликована в рамках программы Creators для Xbox One. Нашей игре нужна клавиатура для некоторых головоломок, чтобы пользователь мог вводить текст и команды.

Что мы делаем: Когда поле ввода активно, мы используем TouchScreenKeyboard.Open, чтобы открыть клавиатуру внутри обновления. Пока поле ввода активно, текст поля ввода совпадает с тем, что вы вводите на клавиатуре, установив inputField.text = keyboard.text.

Мы не можем использовать XAML, поэтому мы застряли с D3D.

Фактический код:

В Update () есть оба следующих элемента:

       if(InputFieldHandler.instance != null && InputFieldHandler.instance.inputField != null && InputFieldHandler.instance.isActivated) {
           touchKeyboard = TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default);
       }

       if(touchKeyboard != null && touchKeyboard.active) {
           InputFieldHandler.instance.inputField.text = touchKeyboard.text;
       }

Все это работает в Windows и иногда работает для нас в Xbox (не в сборках выпуска).

Но чаще всего происходит:

  1. Клавиатура всплывает и исчезает без причины, и пользователь не может ее снова открыть.

  2. Пользователь может выбирать персонажей, но это не переводит в игру.

Есть какие-нибудь советы и хитрости, которые мы должны знать об этом? Как правильно использовать TouchScreenKeyboard для Xbox UWP?

...