fractal-hell/js/motion.js
2024-09-14 22:47:08 -04:00

45 lines
No EOL
1.2 KiB
JavaScript

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);