Phaser API Documentation

  Version: 
Filter

This class is responsible for taking control over a single property in the Particle class and managing its emission and updating functions.

Particles properties such as x, y, scaleX, lifespan and others all use EmitterOp instances to manage them, as they can be given in a variety of formats: from simple values, to functions, to dynamic callbacks.

See the ParticleEmitter class for more details on emitter op configuration.

Constructor:

new EmitterOp(key, defaultValue, [emitOnly])

Parameters:

name type arguments Default description
key string

The name of the property.

defaultValue Phaser.Types.GameObjects.Particles.EmitterOpOnEmitType | Phaser.Types.GameObjects.Particles.EmitterOpOnUpdateType

The default value of the property.

emitOnly boolean <optional> false

Whether the property can only be modified when a Particle is emitted.

Since: 3.0.0

Members

Description:

The callback to run for Particles when they are emitted from the Particle Emitter. This is set during setMethods and used by proxyEmit.

Type:
Since: 3.60.0
Focus
Focus

Description:

The callback to run for Particles when they are updated. This is set during setMethods and used by proxyUpdate.

Type:
Since: 3.60.0
Focus
Focus
active: boolean
Focus
Focus

Description:

Set to false to disable this EmitterOp.

Type:
boolean
Since: 3.60.0
Focus
Focus
counter: number
Focus
Focus

Description:

The step counter for stepped easing, per emit.

Type:
number
Default: 0
Since: 3.0.0
Focus
Focus
current: number
Focus
Focus

Description:

The most recently calculated value. Updated every time an emission or update method is called. Treat as read-only.

Type:
number
Since: 3.60.0
Focus
Focus

Description:

The default value of this property.

This can be a simple value, an array, a function or an onEmit configuration object.

Type:
Since: 3.0.0
Focus
Focus
direction: number
Focus
Focus

Description:

The counter direction. 0 for up and 1 for down.

Type:
number
Default: 0
Since: 3.60.0
Focus
Focus
<nullable> ease: function
Focus
Focus

Description:

The easing function to use for updating this property, if any.

Type:
function
Since: 3.0.0
Focus
Focus
emitOnly: boolean
Focus
Focus

Description:

Whether this property can only be modified when a Particle is emitted.

Set to true to allow only Phaser.GameObjects.Particles.EmitterOp#onEmit callbacks to be set and affect this property.

Set to false to allow both Phaser.GameObjects.Particles.EmitterOp#onEmit and Phaser.GameObjects.Particles.EmitterOp#onUpdate callbacks to be set and affect this property.

Type:
boolean
Since: 3.0.0
Focus
Focus
end: number
Focus
Focus

Description:

The end value for this property to ease between.

Type:
number
Default: 0
Since: 3.0.0
Focus
Focus
<nullable> interpolation: function
Focus
Focus

Description:

The interpolation function to use for updating this property, if any.

Type:
function
Since: 3.60.0
Focus
Focus
method: number
Focus
Focus

Description:

The onEmit method type of this EmitterOp.

Set as part of setMethod and cached here to avoid re-setting when only the value changes.

Type:
number
Since: 3.60.0
Focus
Focus

Description:

The callback to run for Particles when they are emitted from the Particle Emitter.

Type:
Since: 3.0.0
Focus
Focus

Description:

The callback to run for Particles when they are updated.

Type:
Since: 3.0.0
Focus
Focus
propertyKey: string
Focus
Focus

Description:

The name of this property.

Type:
string
Since: 3.0.0
Focus
Focus

Description:

The current value of this property.

This can be a simple value, an array, a function or an onEmit configuration object.

Type:
Since: 3.0.0
Focus
Focus
start: number | Array.<number>
Focus
Focus

Description:

The start value for this property to ease between.

If an interpolation this holds a reference to the number data array.

Type:
number | Array.<number>
Default: 0
Since: 3.0.0
Focus
Focus
steps: number
Focus
Focus

Description:

The number of steps for stepped easing between Phaser.GameObjects.Particles.EmitterOp#start and Phaser.GameObjects.Particles.EmitterOp#end values, per emit.

Type:
number
Default: 0
Since: 3.0.0
Focus
Focus
yoyo: boolean
Focus
Focus

Description:

When the step counter reaches it's maximum, should it then yoyo back to the start again, or flip over to it?

Type:
boolean
Default: false
Since: 3.60.0
Focus
Focus

Methods

defaultEmit(particle, key, [value])
Focus
Focus

Description:

The returned value sets what the property will be at the START of the particles life, on emit.

Parameters:

name type arguments description
particle Phaser.GameObjects.Particles.Particle

The particle.

key string

The name of the property.

value number <optional>

The current value of the property.

Returns:
Description:

The new value of the property.

Type:
  • number
Since: 3.0.0
Focus
Focus
defaultUpdate(particle, key, t, value)
Focus
Focus

Description:

The returned value updates the property for the duration of the particles life.

Parameters:

name type description
particle Phaser.GameObjects.Particles.Particle

The particle.

key string

The name of the property.

t number

The current normalized lifetime of the particle, between 0 (birth) and 1 (death).

value number

The current value of the property.

Returns:
Description:

The new value of the property.

Type:
  • number
Since: 3.0.0
Focus
Focus
destroy()
Focus
Focus

Description:

Destroys this EmitterOp instance and all of its references.

Called automatically when the ParticleEmitter that owns this EmitterOp is destroyed.

Since: 3.60.0
Focus
Focus
easeValueUpdate(particle, key, t)
Focus
Focus

Description:

An onUpdate callback that returns an eased value between the Phaser.GameObjects.Particles.EmitterOp#start and Phaser.GameObjects.Particles.EmitterOp#end range.

Parameters:

name type description
particle Phaser.GameObjects.Particles.Particle

The particle.

key string

The name of the property.

t number

The current normalized lifetime of the particle, between 0 (birth) and 1 (death).

Returns:
Description:

The new value of the property.

Type:
  • number
Since: 3.0.0
Focus
Focus
easedValueEmit(particle, key)
Focus
Focus

Description:

An onEmit callback for an eased property.

It prepares the particle for easing by Phaser.GameObjects.Particles.EmitterOp#easeValueUpdate.

Parameters:

name type description
particle Phaser.GameObjects.Particles.Particle

The particle.

key string

The name of the property.

Returns:
Description:

{@link Phaser.GameObjects.Particles.EmitterOp#start}, as the new value of the property.

Type:
  • number
Since: 3.0.0
Focus
Focus
getMethod()
Focus
Focus

Description:

Checks the type of EmitterOp.propertyValue to determine which method is required in order to return values from this op function.

Returns:
Description:

A number between 0 and 9 which should be passed to setMethods.

Type:
  • number
Since: 3.60.0
Focus
Focus
has(object, key)
Focus
Focus

Description:

Check whether an object has the given property.

Parameters:

name type description
object object

The object to check.

key string

The key of the property to look for in the object.

Returns:
Description:

true if the property exists in the object, false otherwise.

Type:
  • boolean
Since: 3.0.0
Focus
Focus
hasBoth(object, key1, key2)
Focus
Focus

Description:

Check whether an object has both of the given properties.

Parameters:

name type description
object object

The object to check.

key1 string

The key of the first property to check the object for.

key2 string

The key of the second property to check the object for.

Returns:
Description:

true if both properties exist in the object, false otherwise.

Type:
  • boolean
Since: 3.0.0
Focus
Focus
hasEither(object, key1, key2)
Focus
Focus

Description:

Check whether an object has at least one of the given properties.

Parameters:

name type description
object object

The object to check.

key1 string

The key of the first property to check the object for.

key2 string

The key of the second property to check the object for.

Returns:
Description:

true if at least one of the properties exists in the object, false if neither exist.

Type:
  • boolean
Since: 3.0.0
Focus
Focus
loadConfig([config], [newKey])
Focus
Focus

Description:

Load the property from a Particle Emitter configuration object.

Optionally accepts a new property key to use, replacing the current one.

Parameters:

name type arguments description
config Phaser.Types.GameObjects.Particles.ParticleEmitterConfig <optional>

Settings for the Particle Emitter that owns this property.

newKey string <optional>

The new key to use for this property, if any.

Since: 3.0.0
Focus
Focus
onChange(value)
Focus
Focus

Description:

Change the current value of the property and update its callback methods.

Parameters:

name type description
value number

The new numeric value of this property.

Returns:
Description:

This Emitter Op object.

Since: 3.0.0
Focus
Focus
proxyEmit(particle, key, [value])
Focus
Focus

Description:

The returned value sets what the property will be at the START of the particles life, on emit.

This method is only used when you have provided a custom emit callback.

Parameters:

name type arguments description
particle Phaser.GameObjects.Particles.Particle

The particle.

key string

The name of the property.

value number <optional>

The current value of the property.

Returns:
Description:

The new value of the property.

Type:
  • number
Since: 3.60.0
Focus
Focus
proxyUpdate(particle, key, t, value)
Focus
Focus

Description:

The returned value updates the property for the duration of the particles life.

This method is only used when you have provided a custom update callback.

Parameters:

name type description
particle Phaser.GameObjects.Particles.Particle

The particle.

key string

The name of the property.

t number

The current normalized lifetime of the particle, between 0 (birth) and 1 (death).

value number

The current value of the property.

Returns:
Description:

The new value of the property.

Type:
  • number
Since: 3.60.0
Focus
Focus
randomRangedIntEmit(particle, key)
Focus
Focus

Description:

An onEmit callback that returns a value between the Phaser.GameObjects.Particles.EmitterOp#start and Phaser.GameObjects.Particles.EmitterOp#end range.

Parameters:

name type description
particle Phaser.GameObjects.Particles.Particle

The particle.

key string

The key of the property.

Returns:
Description:

The new value of the property.

Type:
  • number
Since: 3.60.0
Focus
Focus
randomRangedValueEmit(particle, key)
Focus
Focus

Description:

An onEmit callback that returns a value between the Phaser.GameObjects.Particles.EmitterOp#start and Phaser.GameObjects.Particles.EmitterOp#end range.

Parameters:

name type description
particle Phaser.GameObjects.Particles.Particle

The particle.

key string

The key of the property.

Returns:
Description:

The new value of the property.

Type:
  • number
Since: 3.0.0
Focus
Focus
randomStaticValueEmit()
Focus
Focus

Description:

An onEmit callback that returns a random value from the current value array.

Returns:
Description:

The new value of the property.

Type:
  • number
Since: 3.0.0
Focus
Focus
setMethods()
Focus
Focus

Description:

Update the Phaser.GameObjects.Particles.EmitterOp#onEmit and Phaser.GameObjects.Particles.EmitterOp#onUpdate callbacks based on the method returned from getMethod. The method is stored in the EmitterOp.method property and is a number between 0 and 9 inclusively.

Returns:
Description:

This Emitter Op object.

Since: 3.0.0
Focus
Focus
staticValueEmit()
Focus
Focus

Description:

An onEmit callback that returns the current value of the property.

Returns:
Description:

The current value of the property.

Type:
  • number
Since: 3.0.0
Focus
Focus
staticValueUpdate()
Focus
Focus

Description:

An onUpdate callback that returns the current value of the property.

Returns:
Description:

The current value of the property.

Type:
  • number
Since: 3.0.0
Focus
Focus
steppedEmit()
Focus
Focus

Description:

An onEmit callback that returns a stepped value between the Phaser.GameObjects.Particles.EmitterOp#start and Phaser.GameObjects.Particles.EmitterOp#end range.

Returns:
Description:

The new value of the property.

Type:
  • number
Since: 3.0.0
Focus
Focus
toJSON()
Focus
Focus

Description:

Build a JSON representation of this Particle Emitter property.

Returns:
Description:

A JSON representation of this Particle Emitter property.

Type:
  • object
Since: 3.0.0
Focus
Focus