view: make entity anchor point configurable, default to center

This commit is contained in:
Matthias Schiffer 2018-10-31 22:10:54 +01:00
parent 1f9cd7a110
commit b08479af40
Signed by: neocturne
GPG key ID: 16EF3F64CB201D9C
2 changed files with 15 additions and 14 deletions

View file

@ -2,14 +2,17 @@ import Renderer from './renderer/Renderer';
import { SpriteCoords, SpriteView, SpriteViewBuilder } from './sprite';
import { loadImage, mkTexture } from './util/image';
export async function loadSimpleEntity(r: Renderer, sprite: string): Promise<SpriteView> {
export async function loadSimpleEntity(
r: Renderer,
sprite: string,
anchor: [number, number] = [0.5, 0.5],
): Promise<SpriteView> {
const tile = await loadImage(`resources/sprite/entity/${sprite}.png`);
const texture = mkTexture(r.getContext(), tile);
const [x, y] = anchor;
const builder = new SpriteViewBuilder(r, texture);
const coords: SpriteCoords = [0, 0, 1, 1];
builder.addSprite(coords, coords);
builder.addSprite([-x, -y, 1 - x, 1 - y], [0, 0, 1, 1]);
return builder.build();
}