спасибо всем за отзывы и замечания
я тут основу переписываю и хочу клаву добавить. Вот так я это сделал
input.js
// Mouse input
var mouseX = 0;
var mouseY = 0;
var mouseClickX = 0;
var mouseClickY = 0;
// Keyboard input
var keys = 0;
var KEY_LEFT = false;
var KEY_RIGHT = false;
var KEY_UP = false;
var KEY_DOWN = false;
var KEY_W = false;
var KEY_A = false;
var KEY_S = false;
var KEY_D = false;
function mouseMove(event) {
mouseX = event.clientX - canvas.offsetLeft;
mouseY = event.clientY - canvas.offsetTop;
}
function mouseClick(event) {
mouseClickX = event.clientX - canvas.offsetLeft;
mouseClickY = event.clientY - canvas.offsetTop;
}
function keyboardUpdateStates(event) {
key = event.keyCode;
if(key == 39) KEY_RIGHT = true;
if(key == 37) KEY_LEFT = true;
if(key == 38) KEY_DOWN = true;
if(key == 40) KEY_UP = true;
if(key == 65) KEY_A = true;
if(key == 87) KEY_W = true;
if(key == 68) KEY_D = true;
if(key == 83) KEY_S = true;
if(ENGINE_DEBUG) console.log(key);
}
function keyboardClearStates(event) {
key = event.keyCode;
KEY_RIGHT = false;
KEY_LEFT = false;
KEY_DOWN = false;
KEY_UP = false;
KEY_W = false;
KEY_A = false;
KEY_S = false;
KEY_D = false;
}
и тогда главный файл со сценой выглядит так:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="../../engine/Core.js"></script>
<script type="text/javascript" src="js/exemple1.js"></script>
</head>
<body onload="geRun()"
onkeydown="keyboardUpdateStates(event)"
onkeyup="keyboardClearStates(event)">
<canvas id = "canvas"
width = "640"
height = "480"
onmousemove="mouseMove(event)"
onclick="mouseClick(event)">
</canvas>
</body>
</html>
мне кажется что отлавливание мыши и клавы я не красиво реализовал. Кто что думает по поводу этого ? Ваши варианты...