diff --git a/assets/RPGpack_sheet.png b/assets/RPGpack_sheet.png new file mode 100644 index 0000000..7143c0a Binary files /dev/null and b/assets/RPGpack_sheet.png differ diff --git a/src/assets.js b/src/assets.js new file mode 100644 index 0000000..3883217 --- /dev/null +++ b/src/assets.js @@ -0,0 +1,22 @@ +export default class Assets { + constructor() { + this.assetMap = {} + } + + get(assetName) { + return this.assetMap[assetName] + } + + async load() { + const tilesheet = new Image() + this.assetMap.tilesheet = tilesheet + tilesheet.src = "./assets/RPGpack_sheet.png" + + return new Promise((resolve, reject) => { + tilesheet.addEventListener("load", e => { + console.log(e) + resolve() + }) + }) + } +} diff --git a/src/game.js b/src/game.js index 43bb56f..8dfa014 100644 --- a/src/game.js +++ b/src/game.js @@ -31,8 +31,7 @@ export default class Game { draw() { const { canvas, ctx } = this - ctx.fillStyle = "#222" - ctx.fillRect(0, 0, canvas.width, canvas.height) + ctx.drawImage(this.assets.get("tilesheet"), 0, 0) this.actors.forEach(actor => actor.draw(ctx)) } } diff --git a/src/index.js b/src/index.js index 875011d..9736309 100644 --- a/src/index.js +++ b/src/index.js @@ -1,8 +1,12 @@ import Game from "./game.js" +import Assets from "./assets.js" -document.addEventListener("DOMContentLoaded", e => { +document.addEventListener("DOMContentLoaded", async e => { const canvas = document.getElementById("game-canvas") const game = new Game(canvas) + game.assets = new Assets() + await game.assets.load() + game.start() }) diff --git a/src/room.js b/src/room.js new file mode 100644 index 0000000..6b67bb4 --- /dev/null +++ b/src/room.js @@ -0,0 +1,5 @@ +import Actor from "./actor.js" + +export default class Room extends Actor { + +}