Skip to content

Instantly share code, notes, and snippets.

@caubry
Created January 18, 2014 21:23
Show Gist options
  • Save caubry/8496667 to your computer and use it in GitHub Desktop.
Save caubry/8496667 to your computer and use it in GitHub Desktop.
InputEngineClass = Class.extend({
bindings: {},
actions: {},
mouse: {
x: 0,
y: 0
},
//-----------------------------
setup: function () {
gInputEngine.bind(87, 'move-up');
gInputEngine.bind(65, 'move-left');
gInputEngine.bind(83, 'move-down');
gInputEngine.bind(68, 'move-right');
document.getElementById('my_canvas').addEventListener('mousemove', gInputEngine.onMouseMove);
document.getElementById('my_canvas').addEventListener('keydown', gInputEngine.onKeyDown);
document.getElementById('my_canvas').addEventListener('keyup', gInputEngine.onKeyUp);
},
//-----------------------------
onMouseMove: function (event) {
gInputEngine.mouse.x = event.clientX;
gInputEngine.mouse.y = event.clientY;
},
//-----------------------------
onKeyDown: function (event) {
var action = this.bindings[event.keyID];
if (action) {
this.actions[action] = true;
}
},
//-----------------------------
onKeyUp: function (event) {
var action = this.bindings[event.keyID];
if (action) {
this.actions[action] = false;
}
},
bind: function (key, action) {
this.bindings[key] = action;
}
});
gInputEngine = new InputEngineClass();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment