繁体   English   中英

ProcessingJS是否可以同时进行多个键输入?

[英]Is it possible to have multiple simultaneous key inputs with ProcessingJS?

我正在使用processingJS处理RTS风格的Webapp,这意味着有一个小地图代表一个较大的地图,用户在任何给定时刻只能看到其中的一小部分。 我刚刚添加了使用箭头键导航地图的功能,即:

    void keyPressed(){
    if(key == CODED){
        switch(keyCode){
            case(UP): //go up
            case(DOWN): //go down , etc

但是,我希望能够通过按下两个箭头键的组合使用户沿对角线移动。 现在看来,这似乎是不可能的,因为“ keyCode”一次只能容纳一个值。

有人知道该问题有任何解决方法吗?

最好,
佐美

正如@Xenethyl在评论中的链接中所指出的,解决此问题的一种方法是通过跟踪按键的按下时间,然后监视按键的释放时间。 可以肯定地认为,在这两个事件之间的时间段内,没有按下任何键。

我会在javascript中执行以下操作:

    document.onkeydown = keydown; 

    function keydown(evt) { 

    if (!evt) evt = event; 

    if (evt.ctrlKey && evt.altKey && evt.keyCode==115) {

        alert("CTRL+ALT+F4"); } 

    else if (evt.shiftKey && evt.keyCode == 9) { 

        alert("Shift+TAB"); }  

    } 

我尚未对此进行测试-但您是否尝试过:

 void keyPressed(){
      if(key == 'a' && key == 'b'){
           println("this just happened");
      }
 }

如果这可行,则可以找到箭头键的ascii值,而不是使用键CODED。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM