我想处理用户为游戏输入的字符(我不想将输入标签与提交按钮一起使用)。
我设法得到键入以下代码的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键等。