blob: a3f3dbc838abea0f9240e5c7a8323e851a063eed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<script lang="ts">
import { onMount } from "svelte";
import { loadAssets } from "@engine/config";
import { Game } from "@engine/Game";
import { JumpStorm } from "../JumpStorm";
let canvas: HTMLCanvasElement;
let ctx: CanvasRenderingContext2D;
export let width: number;
export let height: number;
onMount(async () => {
ctx = canvas.getContext("2d");
ctx.imageSmoothingEnabled = false;
await loadAssets();
const game = new Game();
const jumpStorm = new JumpStorm(game);
const { protocol, host } = document.location;
const isHttps = protocol.startsWith('https');
jumpStorm.init(ctx, isHttps ? 'https' : 'http', isHttps ? 'wss' : 'ws', `${host}/api`)
.then(() => jumpStorm.play());
});
</script>
<canvas bind:this={canvas} {width} {height} />
|