let keys = []; let vel = [0, 0]; let posM = [0,0]; let r = document.querySelector('canvas').getBoundingClientRect(); let x = r.x + r.width / 2; let y = r.y + r.height / 2; let id = ''; function down(e) { let k = e.key.toLowerCase(); keys[k] = true; if (k == 'r') game.placeBlock(6,false,posM[0],posM[1]); if (k == 'f') game.placeBlock(5,false,posM[0],posM[1]); }; function up(e) { keys[e.key.toLowerCase()] = false; }; function move() { var isShift = keys['q']; vel[0] += ((keys['a'] ? 1 : 0) - (keys['d'] ? 1 : 0)) * (isShift ? 2.3 : 1); vel[1] += ((keys['w'] ? 1 : 0) - (keys['s'] ? 1 : 0)) * (isShift ? 2.3 : 1); vel[0] *= 0.8; vel[1] *= 0.8; game.camera[0] -= vel[0] * 1.8; game.camera[1] -= vel[1] * 1.8; } function mouse(e) { posM[0] = game.camera[0] + (e.pageX - x) / r.width * document.querySelector('canvas').width; posM[0] -= tileSize / 2; posM[1] = game.camera[1] + (e.pageY - y) / r.height * document.querySelector('canvas').height; posM[1] -= tileSize / 2; } setInterval(move, 10); window.addEventListener('keydown', down); window.addEventListener('keyup', up); window.addEventListener('mousemove', mouse);