@fuwu-yuan/bgew
Version:
Baguette Game Engine Web is a french 2D Web game engine
69 lines (68 loc) • 2.13 kB
TypeScript
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;
}