Experimental canvas 2D engine for tile-based sidescroller/sandbox games, created strictly for educational purposes.
entity-component-system game-engine canvas-2d
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2 28 lines 801 B view raw
1function createAsset(filename: string): HTMLImageElement { 2 const asset = new Image(); 3 asset.src = `../assets/${filename}.png`; 4 5 return asset; 6} 7 8export function assetsLoaded(): Promise<void[]> { 9 return Promise.all( 10 Object.values(assets).map( 11 (img) => 12 new Promise<void>((resolve, reject) => { 13 if (img.complete) return resolve(); 14 img.onload = () => resolve(); 15 img.onerror = () => reject(new Error(`Failed to load: ${img.src}`)); 16 }), 17 ), 18 ); 19} 20 21export const assets = { 22 1: createAsset("vt_dirt"), 23 2: createAsset("vt_grass"), 24 3: createAsset("vt_stone"), 25 4: createAsset("scenery_1"), 26 5: createAsset("scenery_2"), 27 6: createAsset("scenery_3"), 28};