tiled only Y option

This commit is contained in:
Alexander Popov 2023-04-30 18:54:53 +03:00
parent b43b67ecac
commit 8ea015eee0
Signed by: iiiypuk
GPG Key ID: E47FE0AB36CD5ED6
2 changed files with 40 additions and 21 deletions

View File

@ -1,6 +1,7 @@
**/.git **/.git
**/node_modules **/node_modules
**/dist **/dist
test/js/engine.js
*.html *.html
*.css *.css

View File

@ -95,8 +95,10 @@ export class Sprite {
} }
export class TiledSprite extends Sprite { export class TiledSprite extends Sprite {
constructor(src = null, x, y) { constructor(src = null, x, y, only = null) {
super(src, x, y); super(src, x, y);
this.only = only;
} }
draw(context, debug = false) { draw(context, debug = false) {
@ -126,16 +128,24 @@ export class TiledSprite extends Sprite {
break; break;
} }
context.drawImage( switch (this.only) {
this.image(), case 'y':
this.x - this.image().width * ix, context.drawImage(this.image(), this.x, this.y - this.image().height * iy);
this.y - this.image().height * iy break;
); case null:
context.drawImage( default:
this.image(), context.drawImage(
this.x + this.image().width * ix, this.image(),
this.y - this.image().height * iy 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
);
break;
}
} }
} }
@ -149,16 +159,24 @@ export class TiledSprite extends Sprite {
break; break;
} }
context.drawImage( switch (this.only) {
this.image(), case 'y':
this.x - this.image().width * ix, context.drawImage(this.image(), this.x, this.y + this.image().height * iy);
this.y + this.image().height * iy break;
); case null:
context.drawImage( default:
this.image(), context.drawImage(
this.x + this.image().width * ix, this.image(),
this.y + this.image().height * iy 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
);
break;
}
} }
} }
} }