commit
2701f5141b
@ -0,0 +1,148 @@ |
|||||||
|
<!doctype html> |
||||||
|
<html lang="en-us"> |
||||||
|
<head> |
||||||
|
<meta charset="utf-8"> |
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
||||||
|
<title>Hamster</title> |
||||||
|
<style> |
||||||
|
html, |
||||||
|
body { |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
|
||||||
|
body { |
||||||
|
font-family: arial; |
||||||
|
background: #222; |
||||||
|
color: #ded; |
||||||
|
overflow: hidden; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-items: center; |
||||||
|
justify-content: center; |
||||||
|
} |
||||||
|
|
||||||
|
.light { |
||||||
|
background: #fff; |
||||||
|
color: #000; |
||||||
|
} |
||||||
|
|
||||||
|
#container { |
||||||
|
position: fixed; |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
top: 0; |
||||||
|
left: 0; |
||||||
|
right: 0; |
||||||
|
bottom: 0; |
||||||
|
} |
||||||
|
|
||||||
|
#output { |
||||||
|
position: fixed; |
||||||
|
display: none; |
||||||
|
font-family: 'Courier New', Courier, monospace; |
||||||
|
width: 100%; |
||||||
|
height: 15vh; |
||||||
|
top:85vh; |
||||||
|
bottom: 0; |
||||||
|
margin-left: 1rem; |
||||||
|
padding-left: 1rem; |
||||||
|
background: #000; |
||||||
|
color: #fff; |
||||||
|
outline: none; |
||||||
|
border: none; |
||||||
|
} |
||||||
|
|
||||||
|
#container.show-console { |
||||||
|
bottom: 15vh; |
||||||
|
} |
||||||
|
|
||||||
|
#output.show-console { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
|
||||||
|
#canvas { |
||||||
|
display: block; |
||||||
|
border: 0px none; |
||||||
|
background-color: black; |
||||||
|
margin: 0 auto; |
||||||
|
} |
||||||
|
|
||||||
|
#canvas:focus { |
||||||
|
outline: none; |
||||||
|
} |
||||||
|
|
||||||
|
#toggle-console { |
||||||
|
display: none; |
||||||
|
position: fixed; |
||||||
|
top: 1rem; |
||||||
|
left: 1rem; |
||||||
|
} |
||||||
|
</style> |
||||||
|
</head> |
||||||
|
|
||||||
|
<body> |
||||||
|
<div id="container"> |
||||||
|
<canvas id="canvas" oncontextmenu="event.preventDefault()" tabindex=-1></canvas> |
||||||
|
</div> |
||||||
|
<button id="toggle-console">Toggle Console</button> |
||||||
|
<script type='text/javascript'> |
||||||
|
var Module = { |
||||||
|
print: (function () { |
||||||
|
return (...args) => { |
||||||
|
var text = args.join(' '); |
||||||
|
window.parent.postMessage({ |
||||||
|
message: "console-output", |
||||||
|
data: text + "\n", |
||||||
|
}, "*"); |
||||||
|
}; |
||||||
|
})(), |
||||||
|
canvas: (() => { |
||||||
|
var canvas = document.getElementById('canvas'); |
||||||
|
|
||||||
|
// As a default initial behavior, pop up an alert when webgl context is lost. To make your |
||||||
|
// application robust, you may want to override this behavior before shipping! |
||||||
|
// See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2 |
||||||
|
canvas.addEventListener("webglcontextlost", (e) => { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false); |
||||||
|
|
||||||
|
return canvas; |
||||||
|
})(), |
||||||
|
setStatus: (text) => { |
||||||
|
}, |
||||||
|
totalDependencies: 0, |
||||||
|
monitorRunDependencies: (left) => { |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
window.onerror = (event) => |
||||||
|
{ |
||||||
|
window.parent.postMessage({ |
||||||
|
message: "player-runtime-error", |
||||||
|
}, "*"); |
||||||
|
}; |
||||||
|
|
||||||
|
window.parent.postMessage({ |
||||||
|
message: "player-ready", |
||||||
|
}, "*"); |
||||||
|
|
||||||
|
window.addEventListener("message", (event) => |
||||||
|
{ |
||||||
|
if (typeof event.data !== "object") |
||||||
|
return; |
||||||
|
|
||||||
|
if (typeof event.data.message !== "string") |
||||||
|
return; |
||||||
|
|
||||||
|
if (event.data.message === "set-theme") { |
||||||
|
document.querySelector("body").className = event.data.theme; |
||||||
|
return; |
||||||
|
} |
||||||
|
}); |
||||||
|
</script> |
||||||
|
{{{ SCRIPT }}} |
||||||
|
</body> |
||||||
|
|
||||||
|
</html> |
Loading…
Reference in new issue