如何Javascript/html5输入键盘顺序设置(不在同一时间)

How to Javascript/html5 Input Keyboard in-order set (not in the same time)

我创建了一个简单的游戏,需要完全按照步骤按下键盘按钮才能移动角色。但我不知道该怎么做,我在互联网上找到的所有内容都是关于同时按下多个键盘按钮。 (设置数组并使用&&)

想象一下:您必须按 A 然后按 B、C 和 D 才能让角色向前移动,或者依次按 D、C、B 和 A 才能向后移动。这些都不是同时按,而是按顺序来的。

那么有人可以告诉我或给我一些线索吗?另外,像双击鼠标一样按下按钮怎么样?- 可以吗。

提前致谢。

只是我头脑中的一些东西:

var aPressed = false;
var bPressed = false;
var cPressed = false;
var dPressed = false;

document.onkeydown = function (event) {
    var key = event.keyCode;

    switch (key) {
        case 65:
            aPressed = true;
            break;
        case 66:
            if (aPressed) {
                bPressed = true;
            }
            break;
        case 67:
            if (aPressed && bPressed) {
                cPressed = true;
            }
            break;
        case 68:
            if (aPressed && bPressed && cPressed) {
                dPressed = true;
            }
            break;
        default: //Reset all buttons
            aPressed = false;
            bPressed = false;
            cPressed = false;
            dPressed = false;
            break;
    }

    if (dPressed) {
        //Move forward and reset pressed buttons
    }
}

希望对您有所帮助:)

编辑:

至于 "double pressing" 一个按钮,你可以将它与这样的东西结合起来:

var presscount = 0;
var delay = 300;

document.onkeydown = function(){
    presscount++;

    if(presscount == 1)
    {
        setTimeout(function(){
            if(presscount == 1)
            {
                //stuff to do on single press
            }
            else
            {
                //stuff to do on double press                
            }
        }, delay);   
    }
}