Added wasPressed as well as wasReleased

This commit is contained in:
Nathan Kunicki 2016-04-16 15:56:08 +01:00
parent bf1f590d20
commit d8b1411a3e
2 changed files with 20 additions and 2 deletions

View File

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

View File

@ -99,7 +99,8 @@ const KeyConsts = {
};
let wasReleased = {};
let wasReleased = {},
wasPressed = {};
class KeyboardInput {
@ -125,14 +126,29 @@ class KeyboardInput {
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 = !!wasPressed[keyCode];
if (pressed) {
wasPressed[keyCode] = false;
}
return pressed;
}
wasReleased (keyCode) {
let pressed = !!wasReleased[keyCode];
if (pressed) {
@ -145,12 +161,14 @@ class KeyboardInput {
_keyDownHandler (event) {
wasReleased[event.keyCode] = false;
wasPressed[event.keyCode] = true;
this._keyState[event.keyCode] = true;
}
_keyUpHandler (event) {
wasReleased[event.keyCode] = true;
wasPressed[event.keyCode] = false;
this._keyState[event.keyCode] = false;
}