UNPKG

@fuwu-yuan/bgew

Version:

Baguette Game Engine Web is a french 2D Web game engine

69 lines (68 loc) 2.13 kB
import { Image } from "./image"; export declare class SpriteSheetImage extends Image { private speedTimer; private _animations; private _currentAnimation; protected _currentAnimationFrameIndex: number; private _pause; private _spriteSheetWidth; private _spriteSheetHeight; private _spritesCountX; private _spritesCountY; private _spriteX; private _spriteY; private _spritePaddingX; private _spritePaddingY; constructor(src: string, spritesCountX: number, spritesCountY: number, x: number, y: number, width: number, height: number, defaultSpritePosition?: { x: number; y: number; }); update(delta: number): void; private nextFrame; /** * Animate the spritesheet with the registered animation * To register an animation see {@link SpriteSheetImage.addAnimation} * @param name * @param speed */ animate(name: string, speed?: number | null): Animation | null; /** * Register a new animation * Animation can be started by calling {@link SpriteSheetImage.animate} with the animation name * * @param name * @param fromSpriteY * @param fromSpriteX * @param toSpriteY * @param toSpriteX * @param speed */ addAnimation(name: string, fromSpriteY: number, fromSpriteX: number, toSpriteY: number, toSpriteX: number, speed: number): void; /** * @param name Name of the animation to remove * @return Index of removed animation */ removeAnimation(name: string): number; get animations(): Animation[]; get currentAnimation(): Animation | null; stopAnimation(): void; get pause(): boolean; set pause(value: boolean); get spritePaddingX(): number; set spritePaddingX(value: number); get spritePaddingY(): number; set spritePaddingY(value: number); get spriteX(): number; set spriteX(value: number); get spriteY(): number; set spriteY(value: number); } export interface Animation { name: string; frames: Frame[]; speed: number; } export interface Frame { x: number; y: number; }