EmitterOp

Phaser.GameObjects.Particles.EmitterOp

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

Phaser.GameObjects.Particles.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

Phaser.GameObjects.Particles.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

Phaser.GameObjects.Particles.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

Phaser.GameObjects.Particles.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

Phaser.Types.GameObjects.Particles.ParticleEmitterConfig

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

Phaser.GameObjects.Particles.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

Phaser.GameObjects.Particles.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

Phaser.GameObjects.Particles.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

Phaser.GameObjects.Particles.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


Updated on