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



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

想象一下:你必须按 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
    }
}

希望这能帮助你一点:)

编辑:

至于"双击"一个按钮,你可以把它和这样的东西结合起来:

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);   
    }
}

最新更新