if(prevKeyState.isDown(Key.X) && !currentKeyState.isDown(Key.X))
Help me find what is wrong with my implementation (Please, I've been frustrated trying to debug this for hours). TIA! Here is my code:
<!DOCTYPE html>
<html>
<head>
<title>Sample</title>
<script type="text/javascript" src="jquery-1.6.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var Key = {
_pressed: {},
A: 97,
W: 119,
D: 100,
S: 115,
isDown: function(keyCode)
{
return this._pressed[keyCode];
},
onKeyDown: function(event)
{
this._pressed[event.keyCode] = true;
},
onKeyUp: function(event)
{
this._pressed[event.keyCode] = false;
}
};
window.addEventListener('keyup', function(event) { Key.onKeyUp(event); }, false);
window.addEventListener('keydown', function(event) { Key.onKeyDown(event); }, false);
var prevKeyboardState;
var currentKeyboardState = $.extend(true, {}, Key); //deep copy
function loop()
{
prevKeyboardState = currentKeyboardState;
currentKeyboardState = $.extend(true, {}, Key); //deep copy
if(prevKeyboardState.isDown(Key.A) && !currentKeyboardState.isDown(Key.A))
{
alert('true');
}
}
setInterval(loop,1000/60);
});
</script>
</head>
<body style="margin:0px; padding:0px;">
<canvas id="canvas" height="600px" width="800px">Your browser does not support HTML5 Canvas.</canvas>
</body>
</html>






