1

我正在用 AS3 开发游戏,如果玩家的键盘是 QWERTY,则将游戏设置为绑定到 WASD,如果是 Colemak,则设置为 WARS 等。这可能吗?如果可以,我可以实现哪些方法这个?

4

2 回答 2

1

这是一个非常 hacky 的解决方案,我只是通过阅读这篇文章想到的,所以我真的不知道它是否工作得那么好......但是你可以创建一个TextField你设置焦点的隐形,stage.focus这样无论用户类型进入那里。然后,您可以为释放的按钮设置一个键盘事件侦听器,该按钮从 TextField 获取值并重置文本字段文本。

于 2014-02-18T23:22:23.517 回答
0

在 AS3 中无法检测键盘布局。

您可以做的是检查flash.system.Capabilities.language属性并根据语言代码预先选择可能的键盘布局。这显然不可靠,因此您需要让用户能够更改设置。

例如,法语很可能意味着用户在世界上讲法语的地区。但是,虽然法国/比利时/卢森堡通常使用 AZERTY,但瑞士法语最有可能意味着 QWERTZ 布局(来源:http ://en.wikipedia.org/wiki/QWERTZ )。

因此,更好的方法是检测国家而不是语言设置。但是使用纯 AS3 无法完成国家检测,您需要调用服务器端脚本(该脚本又使用 IP 地址查找来确定国家/地区)。

不确定这是否值得所有这些麻烦,我会简单地默认为 QWERTY,因为它是最常见的。

于 2013-09-12T18:54:10.603 回答