2024-09-13 03:30:57 -04:00
|
|
|
let keys = [];
|
|
|
|
let vel = [0, 0];
|
2024-09-14 22:47:08 -04:00
|
|
|
let posM = [0,0];
|
|
|
|
let r = document.querySelector('canvas').getBoundingClientRect();
|
|
|
|
let x = r.x + r.width / 2;
|
|
|
|
let y = r.y + r.height / 2;
|
2024-09-13 03:30:57 -04:00
|
|
|
|
|
|
|
let id = '';
|
|
|
|
|
|
|
|
function down(e) {
|
2024-09-13 21:25:41 -04:00
|
|
|
let k = e.key.toLowerCase();
|
|
|
|
keys[k] = true;
|
|
|
|
|
2024-09-14 22:47:08 -04:00
|
|
|
if (k == 'r') game.placeBlock(6,false,posM[0],posM[1]);
|
|
|
|
if (k == 'f') game.placeBlock(5,false,posM[0],posM[1]);
|
2024-09-13 03:30:57 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
function up(e) {
|
|
|
|
keys[e.key.toLowerCase()] = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
function move() {
|
|
|
|
var isShift = keys['q'];
|
2024-09-13 21:25:41 -04:00
|
|
|
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);
|
2024-09-13 03:30:57 -04:00
|
|
|
|
|
|
|
vel[0] *= 0.8;
|
|
|
|
vel[1] *= 0.8;
|
|
|
|
|
2024-09-14 22:32:14 -04:00
|
|
|
game.camera[0] -= vel[0] * 1.8;
|
|
|
|
game.camera[1] -= vel[1] * 1.8;
|
2024-09-13 03:30:57 -04:00
|
|
|
}
|
|
|
|
|
2024-09-14 22:47:08 -04:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
2024-09-13 03:30:57 -04:00
|
|
|
setInterval(move, 10);
|
|
|
|
|
|
|
|
window.addEventListener('keydown', down);
|
2024-09-14 22:47:08 -04:00
|
|
|
window.addEventListener('keyup', up);
|
|
|
|
window.addEventListener('mousemove', mouse);
|