BurstEmitter class

An emitter that fires a fixed number of particles in a burst.

Supports instant, delayed, and repeating bursts with configurable spread patterns. Burst particles are additive — they do not interfere with the main particle pool.

See also Emitter.burst for a factory-constructor shorthand.

Constructors

BurstEmitter({required Offset position(Size size), required int particleCount, required Particle particleFactory(int index, int total), required BurstPattern pattern, Duration initialDelay = Duration.zero, int repeatCount = 1, Duration repeatInterval = Duration.zero, double positionRadius = 0.0, ParticlePhysics? physics, bool enableTrails = false, BurstEmitterController? controller, int maxPoolSize = 500})

Properties

controller → BurstEmitterController?
Optional controller for manual triggering.
final
enableTrails → bool
Trails are off by default — trails on hundreds of particles are expensive.
final
hashCode → int
The hash code for this object.
no setterinherited
initialDelay → Duration
Delay before the first burst fires.
final
maxPoolSize → int
Hard ceiling on live + dead particles retained by this emitter.
final
particleCount → int
Number of particles emitted per burst.
final
particleFactory → Particle Function(int index, int total)
Called once per particle to produce its appearance. Engine sets position and velocity after this returns.
final
particles → List<Particle>
Returns the live burst particle pool (may be null before first burst).
no setter
pattern → BurstPattern
Velocity spread strategy for burst particles.
final
physics → ParticlePhysics?
Per-burst physics. Null = no gravity on burst particles.
final
position → Offset Function(Size size)
Burst origin as a function of widget size, e.g. (size) => size.center(Offset.zero).
final
positionRadius → double
Scatter radius around position for spawn point.
final
repeatCount → int
How many times to repeat. 0 = infinite.
final
repeatInterval → Duration
Interval between repeats.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

dispose() → void
Stops the auto-fire loop and releases the particle pool. Call when the emitter is no longer used (e.g. widget disposed or scene swap).
initialize(Size size) → void
Called once by the engine after the widget lays out.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
tickController(Size size) → void
Called every frame by the engine to handle controller triggers.
toString() → String
A string representation of this object.
inherited
updateParticles(double deltaTime, double width, double height, Size size) → void
Per-frame update for burst particles. Called by engine's _engine() loop.

Operators

operator ==(Object other) → bool
The equality operator.
inherited