diff --git a/assets/sprites/soldier/spritesheet.png b/assets/sprites/soldier/spritesheet.png new file mode 100644 index 0000000..3af13f3 Binary files /dev/null and b/assets/sprites/soldier/spritesheet.png differ diff --git a/src/npc.ts b/src/npc.ts index f8b0e2e..345eaf1 100644 --- a/src/npc.ts +++ b/src/npc.ts @@ -35,9 +35,9 @@ export class NPC { if(this.options.scale == null) this.options.scale = 1; this.sprite = new SpriteSheet(ctx, spriteSheetPath, spriteDefPath); - setInterval(() => { - this.message(String.fromCodePoint(this.emojis[~~(Math.random() * this.emojis.length)])); - }, 10000); + // setInterval(() => { + // this.message(String.fromCodePoint(this.emojis[~~(Math.random() * this.emojis.length)])); + // }, 10000); } animate(name: string, reverse = false) { diff --git a/src/renderer.ts b/src/renderer.ts index 43f150d..626a103 100644 --- a/src/renderer.ts +++ b/src/renderer.ts @@ -18,12 +18,12 @@ const dog = new NPC(ctx, scale: 0.25 }); -const soldier = new NPC(ctx, +const soldiers = Array(100).fill(null).map(() => new NPC(ctx, './assets/sprites/soldier/spritesheet.png', '../assets/sprites/soldier/spritesheet.json', { bubbleOffset: [0, 32], scale: 1 - }); + })); let frame = 0, once = true; setInterval(() => { @@ -32,6 +32,6 @@ setInterval(() => { clearScreen(); dog.tick(); - soldier.tick(); + soldiers.forEach(s => s.tick()); }) }, 1000 / FRAME_RATE);