From 91faafbd3a4709b057814155bfffbb1fd1374155 Mon Sep 17 00:00:00 2001 From: Pontus Alexander Date: Sun, 7 Jun 2020 12:35:08 +0200 Subject: [PATCH] Add linewidth 1 + no sub pixel rendering. --- public/js/entities/Mario.js | 2 ++ public/js/layers/collision.js | 15 ++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/public/js/entities/Mario.js b/public/js/entities/Mario.js index c1c4bcf2..7942fcaa 100644 --- a/public/js/entities/Mario.js +++ b/public/js/entities/Mario.js @@ -3,6 +3,7 @@ import Go from '../traits/Go.js'; import Jump from '../traits/Jump.js'; import Killable from '../traits/Killable.js'; import Physics from '../traits/Physics.js'; +import PipeTraveller from '../traits/PipeTraveller.js'; import Solid from '../traits/Solid.js'; import Stomper from '../traits/Stomper.js'; import {loadAudioBoard} from '../loaders/audio.js'; @@ -60,6 +61,7 @@ function createMarioFactory(sprite, audio) { mario.addTrait(new Jump()); mario.addTrait(new Killable()); mario.addTrait(new Stomper()); + mario.addTrait(new PipeTraveller()); mario.traits.get(Killable).removeAfter = Infinity; mario.traits.get(Jump).velocity = 175; diff --git a/public/js/layers/collision.js b/public/js/layers/collision.js index 02a6e987..3757f0de 100644 --- a/public/js/layers/collision.js +++ b/public/js/layers/collision.js @@ -4,10 +4,10 @@ function createEntityLayer(entities) { entities.forEach(entity => { context.beginPath(); context.rect( - entity.bounds.left - camera.pos.x, - entity.bounds.top - camera.pos.y, - entity.size.x, - entity.size.y); + Math.floor(entity.bounds.left - camera.pos.x) + .5, + Math.floor(entity.bounds.top - camera.pos.y) + .5, + entity.size.x - 1, + entity.size.y -1); context.stroke(); }); }; @@ -29,9 +29,10 @@ function createTileCandidateLayer(tileResolver) { resolvedTiles.forEach(({x, y}) => { context.beginPath(); context.rect( - x * tileSize - camera.pos.x, - y * tileSize - camera.pos.y, - tileSize, tileSize); + Math.floor(x * tileSize - camera.pos.x) + .5, + Math.floor(y * tileSize - camera.pos.y) + .5, + tileSize - 1, + tileSize - 1); context.stroke(); });