2012-04-13 20 views
0

Ich arbeite an einer RTS-Style-Webapp in processingJS, was bedeutet, dass es eine kleine Minikarte gibt, die eine größere Karte darstellt, zu der der Benutzer nur einen kleinen Teil von jedem Moment sehen kann. Habe ich nur noch die Möglichkeit, die Pfeiltasten zu verwenden, um die Karte zu navigieren, d.h .:Ist es möglich, mehrere simultane Tasteneingaben mit ProcessingJS zu haben?

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

aber ich möchte in der Lage sein, ein Benutzer zu lassen diagonal bewegen, indem eine Kombination von zwei Pfeiltasten drücken. Gerade jetzt scheint es unmöglich zu sein, da "keyCode" immer nur einen Wert zu halten scheint.

Kennt jemand irgendwelche Problemumgehungen für dieses Problem?

Best,
Sami

+0

Ein effektiver Ansatz ist hier skizziert: http://stackoverflow.com/questions/5203407/javascript-multiple-keys-pressed-at- einmal – Xenethyl

Antwort

0

Wie @Xenethyl in seinem Link in den Kommentaren gezeigt hat, kann man dies umgehen, indem man Spuren beim Drücken einer Taste hält und dann darauf achtet, wenn die Taste losgelassen wird. Es ist davon auszugehen, dass ein Schlüssel in der Zeit zwischen diesen beiden Ereignissen gedrückt gehalten wird.

-1

Ich habe nicht getestet - aber haben Sie versucht:

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

Wenn das funktioniert, um die ASCII-Werte für die Pfeiltasten anstelle der Verwendung von Schlüsseln KODIERTE zu finden.

+1

Wie kann eine Variable gleichzeitig zwei Werte halten? – thisissami

0

würde ich nur folgendes in 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"); } 

    } 
Verwandte Themen