我正在处理一个处理JS的RTS风格的webapp,这意味着有一个小小的地图代表一个更大的地图,用户只能看到任何特定时刻的一小部分。我刚刚添加了使用箭头键导航地图的功能,即:
void keyPressed(){
if(key == CODED){
switch(keyCode){
case(UP): //go up
case(DOWN): //go down , etc
但是,我希望能够让用户通过按两个箭头键的组合来对角移动。现在,似乎这是不可能做到的,看看“keyCode”一般只能看到一个值。
有人知道这个问题的解决方法吗?
最佳,
萨米
答案 0 :(得分:0)
正如@Xenethyl在评论中的链接中指出的那样,解决这个问题的一种方法是记录按下按键的时间,然后观察按键何时释放。可以安全地假设在这两个事件之间的一段时间内按下了一个键。
答案 1 :(得分:0)
我只会在 javascript :
中执行以下操作 document.onkeydown = keydown;
function keydown(evt) {
if (!evt) evt = event;
if (evt.ctrlKey && evt.altKey && evt.keyCode==115) {
alert("CTRL+ALT+F4"); }
else if (evt.shiftKey && evt.keyCode == 9) {
alert("Shift+TAB"); }
}
答案 2 :(得分:-1)
我没有测试过这个 - 但你试过了吗?
void keyPressed(){
if(key == 'a' && key == 'b'){
println("this just happened");
}
}
如果这样可行,您可以找到箭头键的ascii值,而不是使用键CODED。