diff --git a/src/js/objects/player.js b/src/js/objects/player.js index 2e09fc5bd3e601e08541fa3598572771b84f3274..885cd6bfb97990975b93d9f3cc1d651e26faf4cf 100644 --- a/src/js/objects/player.js +++ b/src/js/objects/player.js @@ -7,7 +7,7 @@ export default class Player extends Entity { this.jumping = false; - this.lastFramePos = {x: 0, y: 0}; + this.lastFramePos = {x: this.x, y: this.y}; } draw() { diff --git a/src/js/rooms/game.js b/src/js/rooms/game.js index 68dccdd492e62c2427ef697af2b81240ef021d6f..60eeca4e721598e8bdda6d8af82c2627d19efd21 100644 --- a/src/js/rooms/game.js +++ b/src/js/rooms/game.js @@ -1,7 +1,7 @@ import {Entity, Room} from "../../../hampsterengine/src/things"; import Player from "../objects/player"; -import {clone, clonePlayer, abs} from "../extras"; +import {clone, clonePlayer, abs, roundToRatio} from "../extras"; import Ground from "../objects/ground"; export const rm_game = new Room(); @@ -79,7 +79,7 @@ rm_game.step = _=>{ if (abs(player.vy) < 1) player.vy = 0; if (abs(player.vx) < 1) player.vx = 0; - if ({x: player.x, y: player.y} !== player.lastFramePos) { + if (player.x !== player.lastFramePos.x || player.y !== player.lastFramePos.y) { player.lastFramePos = {x: player.x, y: player.y}; // Update the camera canvas.camera.goTo( @@ -92,7 +92,7 @@ rm_game.step = _=>{ rm_game.draw = _ => { canvas.ctx.save(); - canvas.ctx.translate(-canvas.camera.x, -canvas.camera.y); + canvas.ctx.translate(roundToRatio(-canvas.camera.x), roundToRatio(-canvas.camera.y)); for (let thing of rm_game.entities) { thing.draw(); }