Files
nage/lib/Sprite.ts
T

45 lines
740 B
TypeScript

export type Sprite = {
image: HTMLImageElement;
xFrames: number;
yFrames: number;
frameWidth: number;
frameHeight: number;
xIndex: number;
yIndex: number;
};
export function createSprite(
image: HTMLImageElement,
xFrames: number,
yFrames: number,
): Sprite {
return {
image,
xFrames,
yFrames,
frameWidth: image.width / xFrames,
frameHeight: image.height / yFrames,
xIndex: 0,
yIndex: 0,
};
}
export function drawSprite(
ctx: CanvasRenderingContext2D,
sprite: Sprite,
x: number,
y: number,
): void {
ctx.drawImage(
sprite.image,
sprite.xIndex * sprite.frameWidth,
sprite.yIndex * sprite.frameHeight,
sprite.frameWidth,
sprite.frameHeight,
x,
y,
sprite.frameWidth,
sprite.frameHeight,
);
}