如何一次抓住2个以上的按键?

Net*_*eta 4 javascript jquery game-engine

最近我对创建JS游戏感兴趣.(不是我有经验但我感兴趣的地方).

我知道JS有几个游戏引擎,但我真的不想创建一个游戏.相反,我很好奇如何工作/如何创建一个.

我有几个问题:

  1. 有人建议我在哪里可以阅读它吗?先决条件(需要什么知识).

  2. 我尝试用长方形走路的小游戏.通过将keyup绑定到窗口并检查event.which以获取按下的键.我意识到,如果我同时点击2个按钮,其中只有1个正在注册.我怎么能克服这个?

    $(window).keyup(function(event){
         globalEvent = event.which;
    
    });
    
    Run Code Online (Sandbox Code Playgroud)

itd*_*ork 5

直接回答你的第二个问题.

这是一种方式:

var keyPressed = {};

$(window).keydown(function(e) {
    keyPressed[e.which] = true;
}).keyup(function(e) {
    keyPressed[e.which] = false;
});
Run Code Online (Sandbox Code Playgroud)

现在,keyPressed只要您想确定密钥是否已关闭,您就可以使用它:

// wherever
var key1 = 65, key2 = 66; // A and B
if (keyPressed[key1] && keyPressed[key2]) {
    // A and B are both being pressed.
}
Run Code Online (Sandbox Code Playgroud)