diff --git a/package.json b/package.json index 090395f..9f37b25 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "momentumengine", - "version": "0.4.0", + "version": "0.5.0", "description": "An ES6 game and animation engine.", "main": "src/es6.js", "repository": { diff --git a/src/classes/imageloader.js b/src/classes/imageloader.js index 1d214a0..bf9e447 100644 --- a/src/classes/imageloader.js +++ b/src/classes/imageloader.js @@ -15,7 +15,7 @@ class ImageLoader { this._error = false; }); - this._imageObj.addEventListener("_error", (err) => { + this._imageObj.addEventListener("error", (err) => { this._loaded = false; this._error = err; }); diff --git a/src/classes/keyboardinput.js b/src/classes/keyboardinput.js index 902f991..b539c63 100644 --- a/src/classes/keyboardinput.js +++ b/src/classes/keyboardinput.js @@ -99,6 +99,9 @@ const KeyConsts = { }; +let wasReleased = {}; + + class KeyboardInput { @@ -119,16 +122,35 @@ class KeyboardInput { isPressed (keyCode) { + console.log("[MomentumEngine] WARNING: MomentumEngine.Classes.KeyboardInput.isPressed is deprecated. Use isDown instead.") 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) { + wasReleased[event.keyCode] = false; this._keyState[event.keyCode] = true; } _keyUpHandler (event) { + wasReleased[event.keyCode = true]; this._keyState[event.keyCode] = false; }