From 160fd773220bc35c2746d205d82207cb7e46cea1 Mon Sep 17 00:00:00 2001 From: Thomas Forgione Date: Sun, 26 Aug 2018 21:53:16 +0200 Subject: [PATCH] Prepare for animated collectable --- src/collectable.js | 11 +++++++++++ src/scene.js | 11 ++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/collectable.js b/src/collectable.js index 508d6f9..7e5ed9a 100644 --- a/src/collectable.js +++ b/src/collectable.js @@ -4,6 +4,17 @@ class Collectable { this.x = x; this.y = y; this.collected = false; + + this.frameNumber = 0; + this.maxFrame = 0; + } + + update(time = 0.02) { + this.frameNumber++; + + if (this.frameNumber >= this.maxFrame) { + this.frameNumber = 0; + } } } diff --git a/src/scene.js b/src/scene.js index 8be53a7..fa52030 100644 --- a/src/scene.js +++ b/src/scene.js @@ -55,12 +55,6 @@ class Scene extends Screen { // The the line for the high score this.currentMaxHeight = this.maxHeight; - // Generate random initial platforms - // for (let i = 0.25; i <= 2; i += 0.33) { - // let platform = new Platform(Math.random(), i, 0.2); - // this.addPlatform(platform); - // } - } start() { @@ -198,6 +192,9 @@ class Scene extends Screen { // Collisions with the border of the screen this.player.x = Math.max(this.player.x, this.player.size / 4); this.player.x = Math.min(this.player.x, 1 - this.player.size / 4); + + // Update coin frames + this.collectables.map((c) => c.update(time)); } addPlatform(object) { @@ -239,7 +236,7 @@ class Scene extends Screen { this.context.drawImage( Collectable.texture, - 0, 0, 64, 64, + 0, 64 * object.frameNumber, 64, 64, (object.x - object.size / 2) * this.width(), (1 - object.y) * this.height() - size / 2, size, size