view: make entity anchor point configurable, default to center
This commit is contained in:
parent
1f9cd7a110
commit
b08479af40
2 changed files with 15 additions and 14 deletions
|
@ -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();
|
||||
}
|
||||
|
|
Reference in a new issue