summaryrefslogtreecommitdiffstats
path: root/src/view/entity.ts
blob: 57969a2e1af27f1a4c39336ac92c6dcc6c7b387d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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,
	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);
	builder.addSprite([-x, -y, 1 - x, 1 - y], [0, 0, 1, 1]);
	return builder.build();
}