Basics
Guides
API Reference
Basics
Guides
API Reference
[17:7] extends: FxObj
Wraps FXGL's ParticleEmitter, the configuration object that controls how many particles spawn per tick, their colors, sizes, blend mode, and lifetime. ParticleEmitter does not emit on its own; attach it to a ParticleComponent on an Entity (or register it with a standalone ParticleSystem) and the engine drives emission. Configure with the fluent setters here, then construct a ParticleComponent around it and attach to an Entity.
ParticleEmitter ()
Creates a new empty ParticleEmitter with default settings.
adopt (object Ajo)
Wraps an existing ParticleEmitter AussomJavaObject.
Ajo is an AussomJavaObject around a ParticleEmitter.A new wrapper.setNumParticles (int Count)
Sets the number of particles emitted per emission tick.
Count is the per-tick particle count.this objectsetEmissionRate (double Rate)
Sets the rate at which emission ticks occur (0.0 to 1.0).
Rate is the emission rate.this objectsetMaxEmissions (int Max)
Sets the maximum total emission ticks before the emitter stops. -1 means unlimited.
Max is the maximum emissions.this objectsetMinSize (double Size)
Sets the minimum particle size (uniform on both axes).
Size is the minimum size.this objectsetMaxSize (double Size)
Sets the maximum particle size.
Size is the maximum size.this objectsetSize (double Min, double Max)
Sets both min and max particle sizes at once.
Min is the minimum size.Max is the maximum size.this objectsetStartColor (object ColorObj)
Sets the start color (particle color at birth). Pass a Color wrapper.
ColorObj is a Color wrapper.this objectsetEndColor (object ColorObj)
Sets the end color (particle color at death).
ColorObj is a Color wrapper.this objectsetColor (object ColorObj)
Sets a uniform color for both start and end.
ColorObj is a Color wrapper.this objectgetNumParticles ()
Returns the current particles-per-tick count.
An int.getEmissionRate ()
Returns the current emission rate (0.0 to 1.0).
A double.getMinSize ()
Returns the minimum particle size.
A double.getMaxSize ()
Returns the maximum particle size.
A double.isFinished ()
Returns whether the emitter has reached its max emissions.
A bool.setBlendMode (string BlendModeName)
Sets the JavaFX BlendMode for emitted particles.
BlendModeName is the BlendMode enum name ("ADD", "MULTIPLY", "SCREEN", etc.).this objectsetInterpolator (InterpolatorObj)
Sets the interpolator (easing curve) used while blending between start and end colors and sizes.
InterpolatorObj is an AussomJavaObject around an Interpolator (see fxgl.Interpolators).this objectsetSourceImage (object ImageObj)
Sets the source image used to draw each particle. When null, FXGL falls back to a soft circle.
ImageObj is a fx.Image wrapper (or null to clear).this objectsetAccelerationFunction (callback Cb)
Sets the acceleration function called per particle. The callback receives no arguments and returns the constant acceleration as an AussomJavaObject around a Point2D. Build the Point2D via aji.newObj("javafx.geometry.Point2D", Ax, Ay).
Cb is a callback () -> Point2D (returned via aji).this objectsetVelocityFunction (callback Cb)
Sets the per-particle velocity function. The callback receives an int (particle index) and returns the initial velocity Point2D.
Cb is a callback (int) -> Point2D.this objectsetSpawnPointFunction (callback Cb)
Sets the per-particle spawn-point function. Spawn-point is an offset added to the emitter's origin.
Cb is a callback (int) -> Point2D.this objectsetScaleOriginFunction (callback Cb)
Sets the per-particle scale-origin function (pivot for the scaling animation).
Cb is a callback (int) -> Point2D.this objectsetScaleFunction (callback Cb)
Sets the per-particle scale function. The returned Point2D is added to the particle's scale each tick.
Cb is a callback (int) -> Point2D.this objectsetExpireFunction (callback Cb)
Sets the per-particle expire-after-duration function. The callback returns a JavaFX Duration; build it via aji.invokeStatic("javafx.util.Duration", "seconds", S).
Cb is a callback (int) -> Duration.this objectgetStartColor ()
Returns the start-color Paint AJO.
getEndColor ()
Returns the end-color Paint AJO.
getBlendMode ()
Returns the BlendMode enum AJO.
getInterpolator ()
Returns the Interpolator AJO.
getMaxEmissions ()
Returns the max-emissions count (-1 means unlimited).
isAllowParticleRotation ()
Returns true when allow-particle-rotation is enabled.
getControl ()
Returns the per-particle Consumer
control callback as a raw AJO (or null when unset).
getParametricEquation ()
Returns the parametric Function<Double, Point2D> AJO (or null).
getOnRemoveFunction ()
Returns the on-remove Consumer
AJO (or null).
getAccelerationFunction ()
Returns the acceleration Supplier
AJO (or null).
setAllowParticleRotation (bool V)
Enables / disables per-particle rotation tracking the emitter's direction.
setControl (callback Cb)
Registers a per-particle Consumer
control callback. The callback receives a Particle AJO each tick and may mutate its position / velocity / etc.
setParametricEquation (callback Cb)
Registers a parametric path function (Double progress 0..1 -> Point2D position) for the emitter. Replaces velocity/scale-driven motion with curve following.
setOnRemoveFunction (callback Cb)
Registers a Consumer
invoked when a particle expires and is removed from the system.
setEntityScaleFunction (callback Cb)
Registers a Supplier
that produces the per-emission entity-scale offset applied to spawn position.
numParticlesProperty ()
Returns the num-particles IntegerProperty AJO for binding.
emissionRateProperty ()
Returns the emission-rate DoubleProperty AJO for binding.
minSizeProperty ()
Returns the min-size DoubleProperty AJO for binding.
maxSizeProperty ()
Returns the max-size DoubleProperty AJO for binding.
startColorProperty ()
Returns the start-color ObjectProperty
AJO.
endColorProperty ()
Returns the end-color ObjectProperty
AJO.
blendModeProperty ()
Returns the blend-mode ObjectProperty
AJO.
interpolatorProperty ()
Returns the interpolator ObjectProperty
AJO.
allowParticleRotationProperty ()
Returns the allow-particle-rotation BooleanProperty AJO.

Aussom
Write once. Embed everywhere.
Copyright 2026 Austin Lehman. All rights reserved.