我怎样才能同时捕获 2 个以上的按键?

2024-03-25

最近我对创建 JS 游戏产生了兴趣。 (不是我有经验但我感兴趣的领域)。

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

我有几个问题:

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

  2. 我尝试制作一个在矩形中行走的小游戏。通过将 keyup 绑定到窗口并检查event.which获取按下的键。我意识到,如果我同时单击 2 个按钮,则只有其中 1 个按钮被注册。我怎样才能克服这个问题?

    $(window).keyup(function(event){
         globalEvent = event.which;
    
    });
    

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

这是一种方法:

var keyPressed = {};

$(window).keydown(function(e) {
    keyPressed[e.which] = true;
}).keyup(function(e) {
    keyPressed[e.which] = false;
});

现在你可以使用keyPressed每当你想确定某个键是否按下时:

// wherever
var key1 = 65, key2 = 66; // A and B
if (keyPressed[key1] && keyPressed[key2]) {
    // A and B are both being pressed.
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我怎样才能同时捕获 2 个以上的按键? 的相关文章

随机推荐