Compare commits

..

No commits in common. "b43b67ecac18de13a8c14aea0e9f872b0fc65924" and "c52b91c007e2c775a9fe692eece42573bd47b0c8" have entirely different histories.

3 changed files with 10 additions and 45 deletions

View File

@ -1,6 +1,5 @@
**/.git **/.git
**/node_modules **/node_modules
**/dist
*.html *.html
*.css *.css

View File

@ -104,62 +104,26 @@ export class TiledSprite extends Sprite {
return -1; return -1;
} }
// draw single image
context.drawImage(this.image(), this.x, this.y); context.drawImage(this.image(), this.x, this.y);
let copyUpByY = Math.ceil(this.y / this.image().height); let copyUpByY = Math.ceil(this.y / this.image().height);
let copyUpByX = Math.ceil(this.y / this.image().width);
let copyDownByY = Math.ceil( let copyDownByY = Math.ceil(
(context.canvas.height - this.y - this.image().height) / this.image().height (context.canvas.height - this.y - this.image().height) / this.image().height
); );
let copyDownByX = Math.ceil(
(context.canvas.width - this.y - this.image().width) / this.image().width
);
for (let iy = 0; iy <= copyUpByY; iy++) { for (let i = 0; i <= copyUpByY; i++) {
if (copyUpByY === Infinity) { if (copyUpByY === Infinity) {
break; break;
} }
for (let ix = 0; ix <= copyUpByX + 1; ix++) { context.drawImage(this.image(), this.x, this.y - this.image().height * i);
if (copyUpByX === Infinity) {
break;
}
context.drawImage(
this.image(),
this.x - this.image().width * ix,
this.y - this.image().height * iy
);
context.drawImage(
this.image(),
this.x + this.image().width * ix,
this.y - this.image().height * iy
);
}
} }
for (let iy = 0; iy <= copyDownByY; iy++) { for (let i = 0; i <= copyDownByY; i++) {
if (copyDownByY === Infinity) { if (copyDownByY === Infinity) {
break; break;
} }
for (let ix = 0; ix <= copyUpByX + 1; ix++) { context.drawImage(this.image(), this.x, this.y + this.image().height * i);
if (copyUpByX === Infinity) {
break;
}
context.drawImage(
this.image(),
this.x - this.image().width * ix,
this.y + this.image().height * iy
);
context.drawImage(
this.image(),
this.x + this.image().width * ix,
this.y + this.image().height * iy
);
}
} }
} }
} }

View File

@ -1,4 +1,6 @@
import { App, Scene, SceneLayer, Rect, StrokeRect, Sprite } from './engine.js'; import { App } from './app.js';
import { Scene, SceneLayer } from './scene.js';
import { Rect, StrokeRect, Sprite } from './objects.js';
// init player // init player
let Player = { let Player = {
@ -19,14 +21,14 @@ let layerBg = new SceneLayer('background', [
]); ]);
let layerHud = new SceneLayer('hud', [ let layerHud = new SceneLayer('hud', [
new Sprite('/assets/compass.png', 15, 15), new Sprite('compass.png', 15, 15),
new Sprite('/assets/compass-arrow.png', 27, 21), new Sprite('compass-arrow.png', 27, 21),
]); ]);
let layerInstances = new SceneLayer('Instances', [Player.rect], { debug: true }); let layerInstances = new SceneLayer('Instances', [Player.rect], { debug: true });
// init app // init app
let app = new App(400, 400); let app = new App(document.querySelector('canvas'), 400, 400);
// init scene // init scene
let firstScene = new Scene(app.canvas, app.context, 400, 400); let firstScene = new Scene(app.canvas, app.context, 400, 400);