excalibur
Version:
Excalibur.js is a simple JavaScript game engine with TypeScript bindings for making 2D games in HTML5 Canvas. Our mission is to make web game development as simple as possible.
35 lines (34 loc) • 1.29 kB
TypeScript
import { Engine } from '../Engine';
import { Actor } from '../Actor';
import { EmitterType } from './EmitterType';
import { ParticleEmitterArgs } from './Particles';
import { GpuParticleConfig, GpuParticleRenderer } from './GpuParticleRenderer';
import { GraphicsComponent } from '../Graphics/GraphicsComponent';
import { Random } from '../Math/Random';
import { Vector } from '../Math/vector';
import { ExcaliburGraphicsContextWebGL } from '../Graphics/Context/ExcaliburGraphicsContextWebGL';
export declare class GpuParticleEmitter extends Actor {
particle: GpuParticleConfig;
graphics: GraphicsComponent;
renderer: GpuParticleRenderer;
isEmitting: boolean;
emitRate: number;
emitterType: EmitterType;
radius: number;
readonly maxParticles: number;
random: Random;
get pos(): Vector;
set pos(pos: Vector);
get z(): number;
set z(z: number);
constructor(config: ParticleEmitterArgs & {
maxParticles?: number;
particle?: GpuParticleConfig;
});
_initialize(engine: Engine): void;
private _particlesToEmit;
update(engine: Engine, elapsed: number): void;
emitParticles(particleCount: number): void;
clearParticles(): void;
draw(ctx: ExcaliburGraphicsContextWebGL, elapsed: number): void;
}