0
var keyPressed = function() {
    key[keyCode] = true;
};
var keyReleased = function() {
    key[keyCode] = false;
};

一度に複数の矢印キーコードを押すことができるのに、文字ではできないのはなぜですか? プレーヤーを動かしていますが、矢印の代わりに WASD を使用すると、 と を同時に押すことができません(W斜めA) 。またはまたはまたは..しか行けませんが、同じコードで、矢印を使用して、それらをまとめて対角線に移動できます。WAAWUPDOWNLEFTRIGHT

矢印と入力/文字キーコードにはいくつかの違いがあると結論付けました。違いは何ですか?同時に 2 つの文字を押すにはどうすればよいですか?

4

1 に答える 1

0

おそらく、次のように使用したいと思うでしょうonkeypress:

var doc = document;
function E(e){
  return doc.getElementById(e);
}
E('yourElementId').onkeypress = function(ev){
  var e = ev || event;
  var kc = e.keycode;
  if(kc == 87 || kc == 38){
    // W or up
  }
  if(kc == 68 || kc == 39){
    // D or right
  }
  if(kc == 83 || kc == 40){
    // S or down
  }
  if(kc == 65 || kc == 37){
    // A or left
  }
}
于 2013-09-20T01:19:38.640 に答える