UNPKG

@hiddentao/clockwork-engine

Version:

A TypeScript/PIXI.js game engine for deterministic, replayable games with built-in rendering

50 lines 1.91 kB
import type { Loader } from "../Loader"; import type { RenderingLayer, TextureId } from "../platform"; /** * Spritesheet wrapper that provides high-level API for working with spritesheets. * Wraps the platform RenderingLayer's low-level spritesheet methods. * * Example usage: * ```typescript * const sheet = await Spritesheet.load( * loader, * rendering, * 'player.png', * 'player.json' // optional, will try imageFile + '.json' if omitted * ) * * const idleFrame = sheet.getTexture('player_idle_0') * const walkFrames = sheet.getAnimationFrames('player_walk_') * ``` */ export declare class Spritesheet { private readonly spritesheetId; private readonly rendering; private constructor(); /** * Load a spritesheet from image and JSON data. * * @param loader - Loader instance for fetching asset data * @param rendering - RenderingLayer for loading spritesheet * @param imageFile - Path to spritesheet image file * @param jsonFile - Optional path to JSON metadata. If omitted, uses imageFile + '.json' * @returns Promise resolving to Spritesheet instance */ static load(loader: Loader, rendering: RenderingLayer, imageFile: string, jsonFile?: string): Promise<Spritesheet>; /** * Get a texture by frame name. * * @param name - Frame name from the spritesheet JSON * @returns TextureId if found, undefined otherwise */ getTexture(name: string): TextureId | undefined; /** * Get all texture frames matching a prefix (useful for animations). * Frames are returned in alphabetical order by frame name. * * @param prefix - Frame name prefix (e.g., 'player_walk_' to match 'player_walk_0', 'player_walk_1', etc.) * @returns Array of TextureIds matching the prefix */ getAnimationFrames(prefix: string): TextureId[]; } //# sourceMappingURL=Spritesheet.d.ts.map