我正在用AS3开发一个游戏,如果玩家的键盘是QWERTY,WASD是WASD,如果是Colemak的话,WASD可以使用WASD。这有可能吗?如果有,我有什么方法来实现它呢?
发布于 2013-09-12 18:54:10
不可能在AS3中检测键盘布局。
您可以做的是检查flash.system.Capabilities.language属性,并根据语言代码预选可能的键盘布局。它显然不可靠,因此您需要让用户能够更改设置。
例如,法语最有可能意味着用户在世界上讲法语的地区。但是,虽然法国/比利时/卢森堡通常使用AZERTY,瑞士法语最有可能意味着QWERTZ布局(来源:http://en.wikipedia.org/wiki/QWERTZ)。
因此,一种稍微好一些的方法是检测国家,而不是语言设置。但是国家检测不能用纯AS3完成,您需要调用服务器端脚本(反过来使用IP地址查找来确定国家)。
不确定这些麻烦是否值得,我只是默认使用QWERTY,因为它是最常见的。
发布于 2014-02-18 23:22:23
这是一个非常讨厌的解决方案,我只是想通过阅读这篇文章,所以我不知道它是否有效.但是您可以创建一个不可见的TextField,您可以使用stage.focus来集中精力,这样用户类型就可以进入其中。然后,您可以为释放的按钮设置一个keyboardEvent侦听器,它接受来自TextField的值并重置TextField文本。
https://stackoverflow.com/questions/18764480
复制相似问题