我想处理用户为游戏输入的字符(我不想将输入标签与提交按钮一起使用)。

我设法得到键入以下代码的keyCode:

window.on.keyPress.add((Event e)
{
    window.alert('${e.keyCode},${e.keyIdentifier},${e.charCode}');

});

但是我不知道如何显示被按下的键的字符(甚至不能以字符串的形式显示键的字符)。
Javascript中有fromKeyCode()函数,但Dart中没有。

无论如何,我正在寻找最简单的方法来获取键盘输入进行处理,而我宁愿不必摆弄键盘代码等。

最佳答案

您可以使用String.fromCharCodes()从字符代码构造一个新字符串。

var str = new String.fromCharCodes([e.charCode]);

但是,每次用户按下按键时(取决于您的游戏),创建新的字符串肯定不是最有效的方法。如果您只希望击中几个特定字符而忽略其他字符,则可能需要创建字符代码的常量/最终变量来比较事件中的字符代码。
final E_KEY = "e".charCodeAt(0);
// ... etc.

请记住,这些内容并不能说明各种情况,例如大写字母,按下CTRL或ALT或按meta键等。

10-02 03:40
查看更多