import { Component } from "../../hierarchy_object/Component"; import type { ComponentConstructor } from "../../hierarchy_object/ComponentConstructor"; /** * simple sprite animator * * this component will switch sprite image every interval time * * * disallow multiple component * * require components: `CssSpriteRenderer` */ export declare class SpriteAnimator extends Component { readonly disallowMultipleComponent: boolean; readonly requiredComponents: ComponentConstructor[]; private _spriteRenderer; private readonly _animations; private _playingAnimationName; private _playingAnimation; private _playingAnimationFrame; private _playing; private _frameDuration; private _currentFrameDuration; private _pendingPlayAnimation; awake(): void; update(): void; /** * play animation by name * @param name animation name * @returns */ playAnimation(name: string): void; /** * stop current animation */ stopAnimation(): void; /** * add animation from image array * @param name animation name * @param animationFrames animation frames * @returns */ addAnimation(name: string, animationFrames: HTMLImageElement[]): void; /** * add animation from image url array * @param name animation name * @param animationFrames animation frames url */ addAnimationFromPath(name: string, animationFrames: string[]): void; /** * frame duration (default: 2) * * larger value means slower animation */ get frameDuration(): number; /** * frame duration (default: 2) * * larger value means slower animation */ set frameDuration(value: number); }