Added wasPressed function to KeyboardInput class

This commit is contained in:
Nathan Kunicki 2016-04-16 15:14:13 +01:00
parent ec56fe7dea
commit 099317232e
3 changed files with 24 additions and 2 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "momentumengine", "name": "momentumengine",
"version": "0.4.0", "version": "0.5.0",
"description": "An ES6 game and animation engine.", "description": "An ES6 game and animation engine.",
"main": "src/es6.js", "main": "src/es6.js",
"repository": { "repository": {

View File

@ -15,7 +15,7 @@ class ImageLoader {
this._error = false; this._error = false;
}); });
this._imageObj.addEventListener("_error", (err) => { this._imageObj.addEventListener("error", (err) => {
this._loaded = false; this._loaded = false;
this._error = err; this._error = err;
}); });

View File

@ -99,6 +99,9 @@ const KeyConsts = {
}; };
let wasReleased = {};
class KeyboardInput { class KeyboardInput {
@ -119,16 +122,35 @@ class KeyboardInput {
isPressed (keyCode) { isPressed (keyCode) {
console.log("[MomentumEngine] WARNING: MomentumEngine.Classes.KeyboardInput.isPressed is deprecated. Use isDown instead.")
return !!this._keyState[keyCode]; return !!this._keyState[keyCode];
} }
isDown (keyCode) {
return !!this._keyState[keyCode];
}
wasPressed (keyCode) {
let pressed = !!wasReleased[keyCode];
if (pressed) {
wasReleased[keyCode] = false;
}
return pressed;
}
_keyDownHandler (event) { _keyDownHandler (event) {
wasReleased[event.keyCode] = false;
this._keyState[event.keyCode] = true; this._keyState[event.keyCode] = true;
} }
_keyUpHandler (event) { _keyUpHandler (event) {
wasReleased[event.keyCode = true];
this._keyState[event.keyCode] = false; this._keyState[event.keyCode] = false;
} }