fractal-hell/js/motion.js

33 lines
No EOL
688 B
JavaScript

let keys = [];
let vel = [0, 0];
let id = '';
function down(e) {
let k = e.key.toLowerCase();
keys[k] = true;
if (k == 'r') game.placeBlock(6);
if (k == 'f') game.placeBlock(5);
};
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] * 0.9;
game.camera[1] -= vel[1] * 0.9;
}
setInterval(move, 10);
window.addEventListener('keydown', down);
window.addEventListener('keyup', up);