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 | optional | default | description |
|---|---|---|---|---|
key | string | No | The name of the property. | |
defaultValue | Phaser.Types.GameObjects.Particles.EmitterOpOnEmitType | Phaser.Types.GameObjects.Particles.EmitterOpOnUpdateType | No | The default value of the property. | |
emitOnly | boolean | Yes | false | Whether the property can only be modified when a Particle is emitted. |
Scope: static
Source: src/gameobjects/particles/EmitterOp.js#L17
Since: 3.0.0
Public Members
active
active: boolean
Description:
Set to false to disable this EmitterOp.
Source: src/gameobjects/particles/EmitterOp.js#L203
Since: 3.60.0
counter
counter: number
Description:
The step counter for stepped easing, per emit.
Source: src/gameobjects/particles/EmitterOp.js#L89
Since: 3.0.0
current
current: number
Description:
The most recently calculated value. Updated every time an
emission or update method is called. Treat as read-only.
Source: src/gameobjects/particles/EmitterOp.js#L132
Since: 3.60.0
defaultValue
defaultValue: Phaser.Types.GameObjects.Particles.EmitterOpOnEmitType, Phaser.Types.GameObjects.Particles.EmitterOpOnUpdateType
Description:
The default value of this property.
This can be a simple value, an array, a function or an onEmit
configuration object.
Source: src/gameobjects/particles/EmitterOp.js#L66
Since: 3.0.0
direction
direction: number
Description:
The counter direction. 0 for up and 1 for down.
Source: src/gameobjects/particles/EmitterOp.js#L110
Since: 3.60.0
ease
ease: function
Description:
The easing function to use for updating this property, if any.
Source: src/gameobjects/particles/EmitterOp.js#L152
Since: 3.0.0
emitOnly
emitOnly: boolean
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.
Source: src/gameobjects/particles/EmitterOp.js#L170
Since: 3.0.0
end
end: number
Description:
The end value for this property to ease between.
Source: src/gameobjects/particles/EmitterOp.js#L142
Since: 3.0.0
interpolation
interpolation: function
Description:
The interpolation function to use for updating this property, if any.
Source: src/gameobjects/particles/EmitterOp.js#L161
Since: 3.60.0
method
method: number
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.
Source: src/gameobjects/particles/EmitterOp.js#L212
Since: 3.60.0
onEmit
onEmit: Phaser.Types.GameObjects.Particles.EmitterOpOnEmitCallback
Description:
The callback to run for Particles when they are emitted from the Particle Emitter.
Source: src/gameobjects/particles/EmitterOp.js#L185
Since: 3.0.0
onUpdate
onUpdate: Phaser.Types.GameObjects.Particles.EmitterOpOnUpdateCallback
Description:
The callback to run for Particles when they are updated.
Source: src/gameobjects/particles/EmitterOp.js#L194
Since: 3.0.0
propertyKey
propertyKey: string
Description:
The name of this property.
Source: src/gameobjects/particles/EmitterOp.js#L45
Since: 3.0.0
propertyValue
propertyValue: Phaser.Types.GameObjects.Particles.EmitterOpOnEmitType, Phaser.Types.GameObjects.Particles.EmitterOpOnUpdateType
Description:
The current value of this property.
This can be a simple value, an array, a function or an onEmit
configuration object.
Source: src/gameobjects/particles/EmitterOp.js#L54
Since: 3.0.0
start
start: number, Array.<number>
Description:
The start value for this property to ease between.
If an interpolation this holds a reference to the number data array.
Source: src/gameobjects/particles/EmitterOp.js#L120
Since: 3.0.0
steps
steps: number
Description:
The number of steps for stepped easing between Phaser.GameObjects.Particles.EmitterOp#start and
Phaser.GameObjects.Particles.EmitterOp#end values, per emit.
Source: src/gameobjects/particles/EmitterOp.js#L78
Since: 3.0.0
yoyo
yoyo: boolean
Description:
When the step counter reaches it's maximum, should it then
yoyo back to the start again, or flip over to it?
Source: src/gameobjects/particles/EmitterOp.js#L99
Since: 3.60.0
Private Members
_onEmit
_onEmit: Phaser.Types.GameObjects.Particles.EmitterOpOnEmitCallback
Description:
The callback to run for Particles when they are emitted from the Particle Emitter.
This is set during setMethods and used by proxyEmit.
Access: private
Source: src/gameobjects/particles/EmitterOp.js#L224
Since: 3.60.0
_onUpdate
_onUpdate: Phaser.Types.GameObjects.Particles.EmitterOpOnUpdateCallback
Description:
The callback to run for Particles when they are updated.
This is set during setMethods and used by proxyUpdate.
Access: private
Source: src/gameobjects/particles/EmitterOp.js#L235
Since: 3.60.0
Public Methods
defaultEmit
<instance> defaultEmit(particle, key, [value])
Description:
The returned value sets what the property will be at the START of the particles life, on emit.
Parameters:
name | type | optional | description |
|---|---|---|---|
particle | No | The particle. | |
key | string | No | The name of the property. |
value | number | Yes | The current value of the property. |
Returns: number - The new value of the property.
Source: src/gameobjects/particles/EmitterOp.js#L596
Since: 3.0.0
defaultUpdate
<instance> defaultUpdate(particle, key, t, value)
Description:
The returned value updates the property for the duration of the particles life.
Parameters:
name | type | optional | description |
|---|---|---|---|
particle | No | The particle. | |
key | string | No | The name of the property. |
t | number | No | The current normalized lifetime of the particle, between 0 (birth) and 1 (death). |
value | number | No | The current value of the property. |
Returns: number - The new value of the property.
Source: src/gameobjects/particles/EmitterOp.js#L613
Since: 3.0.0
destroy
<instance> destroy()
Description:
Destroys this EmitterOp instance and all of its references.
Called automatically when the ParticleEmitter that owns this
EmitterOp is destroyed.
Source: src/gameobjects/particles/EmitterOp.js#L901
Since: 3.60.0
easedValueEmit
<instance> easedValueEmit(particle, key)
Description:
An onEmit callback for an eased property.
It prepares the particle for easing by Phaser.GameObjects.Particles.EmitterOp#easeValueUpdate.
Parameters:
name | type | optional | description |
|---|---|---|---|
particle | No | The particle. | |
key | string | No | The name of the property. |
Returns: number - {@link Phaser.GameObjects.Particles.EmitterOp#start}, as the new value of the property.
Source: src/gameobjects/particles/EmitterOp.js#L838
Since: 3.0.0
easeValueUpdate
<instance> easeValueUpdate(particle, key, t)
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 | optional | description |
|---|---|---|---|
particle | No | The particle. | |
key | string | No | The name of the property. |
t | number | No | The current normalized lifetime of the particle, between 0 (birth) and 1 (death). |
Returns: number - The new value of the property.
Source: src/gameobjects/particles/EmitterOp.js#L866
Since: 3.0.0
getMethod
<instance> getMethod()
Description:
Checks the type of EmitterOp.propertyValue to determine which
method is required in order to return values from this op function.
Returns: number - A number between 0 and 9 which should be passed to setMethods.
Source: src/gameobjects/particles/EmitterOp.js#L360
Since: 3.60.0
has
<instance> has(object, key)
Description:
Check whether an object has the given property.
Parameters:
name | type | optional | description |
|---|---|---|---|
object | object | No | The object to check. |
key | string | No | The key of the property to look for in the object. |
Returns: boolean - true if the property exists in the object, false otherwise.
Source: src/gameobjects/particles/EmitterOp.js#L546
Since: 3.0.0
hasBoth
<instance> hasBoth(object, key1, key2)
Description:
Check whether an object has both of the given properties.
Parameters:
name | type | optional | description |
|---|---|---|---|
object | object | No | The object to check. |
key1 | string | No | The key of the first property to check the object for. |
key2 | string | No | The key of the second property to check the object for. |
Returns: boolean - true if both properties exist in the object, false otherwise.
Source: src/gameobjects/particles/EmitterOp.js#L562
Since: 3.0.0
hasEither
<instance> hasEither(object, key1, key2)
Description:
Check whether an object has at least one of the given properties.
Parameters:
name | type | optional | description |
|---|---|---|---|
object | object | No | The object to check. |
key1 | string | No | The key of the first property to check the object for. |
key2 | string | No | The key of the second property to check the object for. |
Returns: boolean - true if at least one of the properties exists in the object, false if neither exist.
Source: src/gameobjects/particles/EmitterOp.js#L579
Since: 3.0.0
loadConfig
<instance> loadConfig([config], [newKey])
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 | optional | description |
|---|---|---|---|
config | Yes | Settings for the Particle Emitter that owns this property. | |
newKey | string | Yes | The new key to use for this property, if any. |
Source: src/gameobjects/particles/EmitterOp.js#L247
Since: 3.0.0
onChange
<instance> onChange(value)
Description:
Change the current value of the property and update its callback methods.
Parameters:
name | type | optional | description |
|---|---|---|---|
value | number | No | The new numeric value of this property. |
Returns: Phaser.GameObjects.Particles.EmitterOp - This Emitter Op object.
Source: src/gameobjects/particles/EmitterOp.js#L300
Since: 3.0.0
proxyEmit
<instance> proxyEmit(particle, key, [value])
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 | optional | description |
|---|---|---|---|
particle | No | The particle. | |
key | string | No | The name of the property. |
value | number | Yes | The current value of the property. |
Returns: number - The new value of the property.
Source: src/gameobjects/particles/EmitterOp.js#L631
Since: 3.60.0
proxyUpdate
<instance> proxyUpdate(particle, key, t, value)
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 | optional | description |
|---|---|---|---|
particle | No | The particle. | |
key | string | No | The name of the property. |
t | number | No | The current normalized lifetime of the particle, between 0 (birth) and 1 (death). |
value | number | No | The current value of the property. |
Returns: number - The new value of the property.
Source: src/gameobjects/particles/EmitterOp.js#L654
Since: 3.60.0
randomRangedIntEmit
<instance> randomRangedIntEmit(particle, key)
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 | optional | description |
|---|---|---|---|
particle | No | The particle. | |
key | string | No | The key of the property. |
Returns: number - The new value of the property.
Source: src/gameobjects/particles/EmitterOp.js#L748
Since: 3.60.0
randomRangedValueEmit
<instance> randomRangedValueEmit(particle, key)
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 | optional | description |
|---|---|---|---|
particle | No | The particle. | |
key | string | No | The key of the property. |
Returns: number - The new value of the property.
Source: src/gameobjects/particles/EmitterOp.js#L721
Since: 3.0.0
randomStaticValueEmit
<instance> randomStaticValueEmit()
Description:
An onEmit callback that returns a random value from the current value array.
Returns: number - The new value of the property.
Source: src/gameobjects/particles/EmitterOp.js#L704
Since: 3.0.0
setMethods
<instance> setMethods()
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: Phaser.GameObjects.Particles.EmitterOp - This Emitter Op object.
Source: src/gameobjects/particles/EmitterOp.js#L436
Since: 3.0.0
staticValueEmit
<instance> staticValueEmit()
Description:
An onEmit callback that returns the current value of the property.
Returns: number - The current value of the property.
Source: src/gameobjects/particles/EmitterOp.js#L678
Since: 3.0.0
staticValueUpdate
<instance> staticValueUpdate()
Description:
An onUpdate callback that returns the current value of the property.
Returns: number - The current value of the property.
Source: src/gameobjects/particles/EmitterOp.js#L691
Since: 3.0.0
steppedEmit
<instance> steppedEmit()
Description:
An onEmit callback that returns a stepped value between the
Phaser.GameObjects.Particles.EmitterOp#start and Phaser.GameObjects.Particles.EmitterOp#end
range.
Returns: number - The new value of the property.
Source: src/gameobjects/particles/EmitterOp.js#L775
Since: 3.0.0
toJSON
<instance> toJSON()
Description:
Build a JSON representation of this Particle Emitter property.
Returns: object - A JSON representation of this Particle Emitter property.
Source: src/gameobjects/particles/EmitterOp.js#L287
Since: 3.0.0