我只在我的IOS构建上遇到了InputProcessor的问题.此代码适用于Desktop和Android版本,但不适用于iOS.
基本上,我需要在用户在屏幕键盘上键入任何时候捕获事件.但是在iOS中,我只能间歇性地看到我的println for keyTyped,并且只有当我快速键入屏幕键盘时才会这样.所有其他触摸只是在控制台中显示一个新行,我不知道这个新行输出源自何处.
问题似乎源于iOS然而将事件发送回我的应用程序以及LibGDX InputProcessor如何接收它们.我已经尝试创建自己的对象,扩展TextField并实现InputProcessor,然后将该对象的实例设置为inputProcessor,但我得到相同的结果.如果我触摸屏幕上不是iOS屏幕键盘的任何地方,我会一直触发事件.
当我输入非常快时,这就是iOS控制台输出的样子,如果输入慢,println永远不会显示:
game name field key typed!
game name field key typed!
game name field key typed!
Run Code Online (Sandbox Code Playgroud)
在Android设备(nexus 7)上做同样的事情产生以下(这是我所期望的):
I/System.out: game name field key down!
I/System.out: game name field key up!
I/System.out: game name field key typed!
I/System.out: game name field key down!
I/System.out: game name field key up!
I/System.out: game name field key typed!
I/System.out: game name field key down!
I/System.out: game name field key up!
I/System.out: game name field key typed!
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
public …Run Code Online (Sandbox Code Playgroud)