boxes/js/main.mjs

36 lines
764 B
JavaScript

import * as graphics from "./graphics.mjs";
import { BOX_SIZE, get_tile, get_root } from "./world.mjs";
import { get_player_box } from "./player.mjs";
import { save_in_browser, load_from_browser } from "./save_load.mjs";
import { tick } from "/js/tile_update.mjs";
load_from_browser();
function render (_delta_time) {
graphics.clear();
graphics.draw_world(get_player_box());
graphics.render();
}
let last_time = new Date().getTime();
function main (timestamp) {
let dt_ms = timestamp - last_time;
last_time += dt_ms;
const delta = dt_ms / 1000;
render(delta);
tick(get_root(), delta);
requestAnimationFrame(main);
}
requestAnimationFrame(main);
function autosave () {
save_in_browser();
}
const autosave_interval = setInterval(autosave, 3000);