fix snippet + catch loop errors

This commit is contained in:
Theis Pieter Hollebeek 2025-10-11 19:08:26 +02:00
parent d9a20c6304
commit 264a918ff3
4 changed files with 9 additions and 6 deletions

View File

@ -129,7 +129,7 @@ lib.startGameLoop(loop);
<div id="sprite-editor-preview"> <div id="sprite-editor-preview">
<p id="sprite-editor-preview-title"></p> <p id="sprite-editor-preview-title"></p>
<img id="sprite-editor-preview-image" src=""> <img id="sprite-editor-preview-image" src="">
<code id="sprite-editor-preview-snippet">test</code> <code id="sprite-editor-preview-snippet"></code>
</div> </div>
<button id="sprite-editor-upload-button">Upload new sprite</button> <button id="sprite-editor-upload-button">Upload new sprite</button>
<ul id="sprite-editor-sprite-list"></ul> <ul id="sprite-editor-sprite-list"></ul>

View File

@ -37,7 +37,11 @@ export class Gamelib {
const now = Date.now(); const now = Date.now();
const deltaT = (now - before) / 1000; const deltaT = (now - before) / 1000;
before = now; before = now;
loopFunction(deltaT); try {
loopFunction(deltaT);
} catch (error) {
this.console.log(error);
}
}, 16); }, 16);
if (this.codeStopper.isStopped()) { if (this.codeStopper.isStopped()) {

View File

@ -59,7 +59,7 @@ export class SpriteEditor {
this.preview.image.src = `data:${sprite.mime};base64,${sprite.bytes.toBase64()}`; this.preview.image.src = `data:${sprite.mime};base64,${sprite.bytes.toBase64()}`;
const sanitizedName = sprite.name.replace(/</g, "&lt;").replace(/&/g, "&amp;"); const sanitizedName = sprite.name.replace(/</g, "&lt;").replace(/&/g, "&amp;");
this.preview.snippet.innerHTML = "lib.drawImage(<br>" + this.preview.snippet.innerHTML = "lib.drawSprite(<br>" +
" x, y,<br>" + " x, y,<br>" +
" width, height,<br>" + " width, height,<br>" +
` "${sanitizedName}"<br>` + ` "${sanitizedName}"<br>` +

View File

@ -50,14 +50,13 @@ section canvas {
} }
section { section {
border-bottom-left-radius: 0.5rem;
border-bottom-right-radius: 0.5rem;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1); box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
overflow-y: hidden;
} }
section > :last-child { section > :last-child {
flex: 1; flex: 1;
border-bottom-left-radius: 0.5rem;
border-bottom-right-radius: 0.5rem;
} }
div#buttons { div#buttons {