HTML and CSS Reference
In-Depth Information
Controlling the Player Ship with the Keyboard
We will add in two keyboard events and an array object to hold the state of each key press.
This will allow the player to hold down a key and have it repeat without a pause. Arcade
games require this type of key-press response.
The array to hold our key presses
An array will hold the true or false value for each keyCode associated with key events. The
keyCode will be the index of the array that will receive the true or false value:
var
var keyPressList = [];
The key events
We will use separate events for both key down and key up. The key down event will put a
true valueinthe keyPressList arrayattheindexassociated withtheevent's keyCode .Con-
versely, the key up event will place a false value in that array index:
document . onkeydown = function
function ( e ){
e = e ? e : window . event ;
//ConsoleLog.log(e.keyCode + "down");
keyPressList [ e . keyCode ] = true
true ;
}
document . onkeyup = function
function ( e ){
e = e ? e : window . event ;
//ConsoleLog.log(e.keyCode + "up");
keyPressList [ e . keyCode ] = false
false ;
};
Evaluating key presses
Our game will need to include code to look for true (or false ) values in the keyPressList
array and use those values to apply game logic:
iif ( keyPressList [ 38 ] == true
true ){
//thrust
var
var angleInRadians = player . rotation * Math . PI / 180 ;
facingX = Math . cos ( angleInRadians );
facingY = Math . sin ( angleInRadians );
movingX = movingX + thrustAcceleration * facingX ;
movingY = movingY + thrustAcceleration * facingY ;
Search WWH ::




Custom Search