/** * ParticleEmitter - manages pool of particles * * Common use cases: * - Explosion (burst of particles) * - Smoke trail (continuous emission) * - Coin sparkle (short burst) * - Dust cloud (ground impact) * - Magic effect (custom colors/behavior) */ export class ParticleEmitter extends Node { constructor(name: any, options?: {}); maxParticles: any; particles: { active: boolean; x: number; y: number; vx: number; vy: number; life: number; maxLife: number; size: number; startSize: number; endSize: number; r: number; g: number; b: number; a: number; startR: number; startG: number; startB: number; startA: number; endR: number; endG: number; endB: number; endA: number; }[]; activeCount: number; emitting: boolean; emissionRate: any; emissionTimer: number; lifetime: any; speed: any; angle: any; spread: any; gravity: any; drag: any; startSize: any; endSize: any; startColor: any; endColor: any; emitterShape: any; emitterSize: any; /** * * @param {Array} value * @returns {number} */ randomValue(value: Array): number; spawnParticle(x: any, y: any, vx: any, vy: any): { active: boolean; x: number; y: number; vx: number; vy: number; life: number; maxLife: number; size: number; startSize: number; endSize: number; r: number; g: number; b: number; a: number; startR: number; startG: number; startB: number; startA: number; endR: number; endG: number; endB: number; endA: number; }; burst(count: any): void; startEmitting(): void; stopEmitting(): void; clear(): void; getActiveCount(): number; hasActiveParticles(): boolean; } export class ParticlePresets { /** * burst of orange/red particles * @param {*} x * @param {*} y * @param {*} options * @returns */ static explosion(x: any, y: any, options?: any): ParticleEmitter; /** * continuous upward-floating particles * @param {*} x * @param {*} y * @param {*} options * @returns */ static smoke(x: any, y: any, options?: any): ParticleEmitter; /** * * @param {*} x * @param {*} y * @param {*} options * @returns */ static sparkles(x: any, y: any, options?: any): ParticleEmitter; /** * impact clouds * @param {*} x * @param {*} y * @param {*} options * @returns */ static dustCloud(x: any, y: any, options?: any): ParticleEmitter; static blood(x: any, y: any, directionX?: number, directionY?: number, options?: {}): ParticleEmitter; static trail(color?: { r: number; g: number; b: number; }, options?: {}): ParticleEmitter; } import { Node } from "./core.js";