我们似乎遇到了一个令人讨厌的错误。
在某些情况下: 我们正在开发一款将通过Xbox One上的Creators Program发布的游戏。 我们的游戏需要键盘上的一些拼图供用户输入文本和命令。
我们正在做什么: 当输入字段处于活动状态时,我们使用TouchScreenKeyboard.Open打开update内部的键盘。只要输入字段处于活动状态,输入字段文本就会与您通过设置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(不适用于发行版)。
但是大多数情况下会发生以下情况:
键盘无缘无故地弹出并消失,用户无法将其弹回。
用户可以选择角色,但不能翻译成游戏。
有什么技巧和窍门我们应该知道吗?将触摸屏键盘用于Xbox UWP的正确方法是什么?