0

私はprocessingJSでRTSスタイルのWebアプリに取り組んでいます。つまり、ユーザーがいつでも一部しか見ることができない、より大きなマップを表す小さなミニマップがあります。矢印キーを使用して地図をナビゲートする機能を追加しました。

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

ただし、2つの矢印キーを組み合わせて押すことで、ユーザーが斜めに移動できるようにしたいと思います。現在、「keyCode」が一度に1つの値しか保持できないように見えるため、これを行うことは不可能のようです。

この問題の回避策を知っている人はいますか?

最高、
サミ

4

3 に答える 3

0

@Xenethyl がコメントのリンクで指摘したように、これを回避する 1 つの方法は、キーが押されたタイミングを追跡し、キーが離されたタイミングを監視することです。これら 2 つのイベントの間の期間にキーが押されていると想定しても問題ありません。

于 2012-08-15T06:14:56.943 に答える
0

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

    } 
于 2014-03-25T19:06:55.567 に答える
-1

私はこれをテストしていませんが、試しましたか:

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

これが機能する場合は、キー CODED を使用する代わりに、矢印キーの ascii 値を見つけることができます。

于 2012-08-14T15:54:02.013 に答える