2013-06-09 8 views
8

Ich bin auf der Suche nach einem Key-Listener für ein Spiel, das ich in JavaScript entwickle. Ich habe keine Ahnung, wie das in echtem Code funktionieren würde, aber es wäre so etwas.Keylistener in Javascript

if(keyPress=upKey) 
    { 
     playerSpriteX+=10; 

    } 
    else if(keyPress=downKey) 
    { 
     playerSpriteY-=10; 

    } 

ect ...

Ich suchte sie auf, und Google kam mit Dingen, die AJAX beteiligt, die ich noch nicht verstehen. Gibt es eine eingebaute Funktion in Javascript, die das tut?

+11

Java ist zu Javascript als Auto zu Teppich ist. – SLaks

+0

@SLaks: Auto & Haustier == viele Haare und Auto – KarolDepka

Antwort

27
window.onkeyup = function(e) { 
    var key = e.keyCode ? e.keyCode : e.which; 

    if (key == 38) { 
     playerSpriteX += 10; 
    }else if (key == 40) { 
     playerSpriteX -= 10; 
    } 
} 

FIDDLE

+1

Das war genau das, was ich gesucht habe! –

5

JSFIDDLE DEMO

Wenn Sie nicht wollen, die Veranstaltung kontinuierlich zu sein (wenn der Benutzer möchte den Schlüssel jedes Mal freigeben haben), ändern onkeydown-onkeyup

window.onkeydown = function (e) { 
    var code = e.keyCode ? e.keyCode : e.which; 
    if (code === 38) { //up key 
     alert('up'); 
    } else if (code === 40) { //down key 
     alert('down'); 
    } 
}; 
2

Haben Sie die kleine Mousetrap Bibliothek überprüft?

Mausefalle ist eine einfache Bibliothek für die Handhabung von Tastenkombinationen in JavaScript.

3

In Eis-Code-Editor von gamingjs der Code

document.addEventListener('keydown', function(event){ 
    alert(event.keycode) 
} 

Dieser ASCII-Code des Schlüssels zurück. Wenn Sie die Schlüsselrepräsentation benötigen, verwenden Sie event.key (Dies wird 'a', 'o', 'Alt' ...) zurückgeben.

Verwandte Themen