MapView: refactor sprite rendering
This commit is contained in:
parent
8567ed9397
commit
8acc22138d
1 changed files with 14 additions and 17 deletions
|
@ -121,6 +121,18 @@ export default class MapView {
|
||||||
this.redraw()
|
this.redraw()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private drawSprite(img: HTMLImageElement, srcX: number, srcY: number, destX: number, destY: number): void {
|
||||||
|
this.ctx.drawImage(
|
||||||
|
img,
|
||||||
|
tiles(srcX), tiles(srcY),
|
||||||
|
tileSize, tileSize,
|
||||||
|
tiles(destX)*this.scale,
|
||||||
|
tiles(destY)*this.scale,
|
||||||
|
tileSize*this.scale,
|
||||||
|
tileSize*this.scale
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
private drawTile(x: number, y: number, tile: TileData): void {
|
private drawTile(x: number, y: number, tile: TileData): void {
|
||||||
if (!tile)
|
if (!tile)
|
||||||
return;
|
return;
|
||||||
|
@ -129,15 +141,7 @@ export default class MapView {
|
||||||
if (!img)
|
if (!img)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this.ctx.drawImage(
|
this.drawSprite(img, tile.subtile || 0, 0, x, y);
|
||||||
img,
|
|
||||||
tiles(tile.subtile || 0), 0,
|
|
||||||
tileSize, tileSize,
|
|
||||||
tiles(x)*this.scale,
|
|
||||||
tiles(y)*this.scale,
|
|
||||||
tileSize*this.scale,
|
|
||||||
tileSize*this.scale
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private drawEntity(e: EntityPosition, time: number): boolean {
|
private drawEntity(e: EntityPosition, time: number): boolean {
|
||||||
|
@ -146,14 +150,7 @@ export default class MapView {
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
var p = entityPosition(e, time);
|
var p = entityPosition(e, time);
|
||||||
|
this.drawSprite(sprite, e.direction, 0, p.x, p.y);
|
||||||
this.ctx.drawImage(
|
|
||||||
sprite,
|
|
||||||
tiles(e.direction), 0,
|
|
||||||
tileSize, tileSize,
|
|
||||||
tiles(p.x)*this.scale, tiles(p.y)*this.scale,
|
|
||||||
tileSize*this.scale, tileSize*this.scale
|
|
||||||
);
|
|
||||||
|
|
||||||
return !!e.transition;
|
return !!e.transition;
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue