TileMap Editor
// JS tile loader for you projects triggered by a button or input
parent.querySelector('#loadLevel').addEventListener('change', function (event) {
const file = event.target.files[0];
if (!file) return;
const reader = new FileReader();
reader.onload = function (e) {
const content = e.target.result;
loadLevel(content);
};
reader.readAsText(file);
});
// load function
tiles = [];
types = [ tile1, tile2, tile3, ];
function loadLevel(content) {
tiles.length = 0; // Clear existing tiles
const lines = content.trim().split('\n');
for (let y = 0; y < lines.length; y++) {
const types = lines[y].trim().split(/\s+/); // split every space
for (let x = 0; x < types.length; x++) {
const type = parseInt(types[x], 10);
if (type >= 0) {
tiles.push({ x, y, type });
}
}
}
console.log("Level loaded", tiles);
}