如何在本机/纯JS中循环内部时按下用户键?

时间:2014-01-23 02:40:02

标签: javascript

我不知道在循环中如何在Javascript中执行“getch() - like”功能。 这是我正在运行的代码,我想根据他按下的内容添加用户界面:

SNK.moveSnk = function(){
        (function myLoop(){
                setTimeout(function(){
                        SNK.ctx.fillRect(SNK.x,SNK.y,10,10);
                        switch(SNK.mD){
                                case 1:
                                        SNK.y-=11;
                                        if(SNK.y>=1) myLoop();
                                        break;
                                case 2:
                                        SNK.y+=11;
                                        if(SNK.y<=496) myLoop();
                                        break;
                                case 3:
                                        SNK.x-=11;
                                        if(SNK.x>=1) myLoop();
                                        break;
                                case 4:
                                        SNK.x+=11;
                                        if(SNK.x<=551) myLoop();
                                        break;
                        }
                },100);
        })();
}

应根据键盘输入更改SNK.mD

2 个答案:

答案 0 :(得分:1)

您可以使用onkeypress事件,然后检查引入的字符并执行必要的操作。 Exmample:

document.onkeypress = function(e) {
    console.log("Key pressed code: " + String.fromCharCode(e.charCode));
}

答案 1 :(得分:0)