API Docs for: v0.1.0
Show:

ParticleEmitter Class

The ParticleEmitter is the object that is placed in the world and will fire off particles based on the rules and properties set on it. Generally you will want to create/use these by adding them to a ParticleSystem.

Constructor

ParticleEmitter

(
  • name
)

Parameters:

  • name String

    The string name of the particle emitter.

Methods

_free

(
  • sprite
)
private

Frees a particle back into the pool and hides it.

Parameters:

  • sprite Sprite

    The particle to free

_get

() Sprite private

Gets a particle from the pool and sets it up.

Returns:

Sprite:

The particle to use

addChild

(
  • child
)
Container | Sprite

Adds a child to the container and returns the child

Parameters:

Returns:

Container | Sprite:

The child that was added

addChildAt

(
  • child
  • index
)
Container | Sprite

Adds a child to the object at a specified index. If the index is out of bounds an error will be thrown

Parameters:

Returns:

Container | Sprite:

The child that was added

bringChildToTop

(
  • child
)
Container | Sprite

Brings a child to the top of the Z pile.

Parameters:

Returns:

Container | Sprite:

The child that was added

destroy

()

Destroys this object.

destroyAllChildren

() Container chainable

Destroys all the children of the object.

Returns:

Container:

Returns itself.

disablePhysics

() Mixed chainable async

Inherited from PhysicsTarget but overwritten in src\physics\PhysicsTarget.js:83

Disbales physics for this sprite

Returns:

Mixed:

Returns itself.

emit

(
  • type
  • data
)
Mixed chainable

Emits an event which will run all registered listeners for the event type

Parameters:

  • type String

    The event name to emit

  • data Mixed

    Any data you want passed along with the event

Returns:

Mixed:

Returns itself.

emitParticle

() ParticleEmitter chainable

Emits a single particle and sets the position, scale, lifespan, and velocity

Returns:

ParticleEmitter:

Returns itself.

enablePhysics

(
  • system
)
Mixed chainable async

Enables physics for this sprite

Parameters:

Returns:

Mixed:

Returns itself.

hide

() Container chainable

Sets the container to visible = false

Returns:

Container:

Returns itself.

off

(
  • type
  • listener
)
Mixed chainable

Removes a listener function for an event type

Parameters:

  • type String

    The event name to emit

  • listener Function

    The function to remove

Returns:

Mixed:

Returns itself.

on

(
  • type
  • listener
)
Mixed chainable

Registers a listener function to be run on an event occurance

Parameters:

  • type String

    The event name to listen for

  • listener Function

    The function to execute when the event happens

Returns:

Mixed:

Returns itself.

once

(
  • type
  • listener
)
Mixed chainable

Registers a one-time callback for an event

Parameters:

  • type String

    The event name to listen for

  • listener Function

    the callback to call when the event occurs

Returns:

Mixed:

Returns itself.

onCollide

(
  • obj
  • collision
)
Boolean

Called whenever a collision occurs

Parameters:

  • obj Sprite | Container

    The sprite that you collide with

  • collision Collision

    Collision data object that contains information about the intersection

Returns:

Boolean:

If you return false explicitly the engine will not solve the collision. In this way you can make thing "not collide" if you don't want their types to collide.

removeAllChildren

() Container chainable

Removes all children from the object.

Returns:

Container:

Returns itself.

removeChild

(
  • child
)
Container | Sprite

Removes a child from the object.

Parameters:

Returns:

Container | Sprite:

The child that was added

setMass

(
  • mass
)
Mixed chainable

Sets the mass of this sprite

Parameters:

  • mass Number

    The new mass of the object

Returns:

Mixed:

Returns itself.

setPosition

(
  • x
  • y
)
Mixed chainable

Sets the position of this sprite

Parameters:

  • x Number
  • y Number

Returns:

Mixed:

Returns itself.

setRotation

(
  • rotation
)
Mixed chainable

Sets the rotation of this sprite

Parameters:

  • rotation Number

    The new rotation of the object in radians

Returns:

Mixed:

Returns itself.

setup

(
  • sprite
  • [collide=gf.DIRECTION.ALL]
)
ParticleEmitter chainable

Sets up the particles to be emitted

Parameters:

  • sprite Sprite | Array | Texture

    Pass a sprite to be clones as a particle, or an array of textures to be randomly chosen from for different particles, or a single texture to use for each particle.

  • [collide=gf.DIRECTION.ALL] Number optional

    The directions the particles are allowed to collide in, use gf.DIRECTION bit flags

Returns:

ParticleEmitter:

Returns itself.

setVelocity

(
  • velocity
)
Mixed chainable

Sets the velocity of this sprite

Parameters:

  • velocity Vector

    The new velocity of the object

Returns:

Mixed:

Returns itself.

show

() Container chainable

Sets the container to visible = true

Returns:

Container:

Returns itself.

start

(
  • [lifespan=2000]
  • [delay=250]
  • [rate=1]
  • [total=gf.PARTICLES.MAX_EMITTER_PARTICLES]
)
ParticleEmitter chainable

Starts the particle emission, must call setup first to setup what kind of particle to emit.

Parameters:

  • [lifespan=2000] Number optional

    The lifespan of a particle in ms

  • [delay=250] Number optional

    The time between each particle emission in ms

  • [rate=1] Number optional

    The number of particles to emit each emission

  • [total=gf.PARTICLES.MAX_EMITTER_PARTICLES] Number optional

    The total number of particles to emit

Returns:

ParticleEmitter:

Returns itself.

stop

() ParticleEmitter chainable

Deactivates the emitter. Particles that are already emitted will continue to decay and die, but no new particles will be emitted.

Returns:

ParticleEmitter:

Returns itself.

update

(
  • dt
)
private

Called internally by the ParticleSystem each frame to update each particle's lifespan.

Parameters:

  • dt Number

    The number of seconds that have passed since last call

Properties

_phys

Object private

The physics namespace that all physics properties go into. Those properties are:

  • system {PhysicsSystem} PhysicsSystem that this object is a part of.
  • active {Boolean} Whether or not this target is actively having physics simulated.

Default: {}

active

Boolean

If true the emitter will emit particles, otherwise it will not.

Default: false

alpha

Number

The opacity of the object.

children

Array

[read-only] The of children of this object.

delay

Number

The time in milliseconds between emissions of particles

Default: 100

height

Number

The height of the emitter, particles are emitted in a random integer location within the width and height of the emitter.

Default: 0

hitArea

Rectangle | Polygon | Circle | Ellipse

This is the defined area that will pick up mouse / touch events. It is null by default. Setting it is a neat way of optimising the hitTest function that the interactionManager will use (as it will not need to hit test all the children)

inertia

Number

The moment of inertia of this object, only set this before enabling physics (has no effect after enabling)

Default: 0

interactive

Boolean

Wether or not the object will handle mouse events

Default: false

lifespan

Number

The default lifespan of a particle that is emitted by this ParticleEmitter, in milliseconds

Default: 2000

mass

Number

The mass of this object, please use setMass to set this value

Default: 0

maxParticles

Number

The maximum number of particles an emitter can have active at any time.

Default: 100

maxRotation

Number

The default maxRotation of a particle that is emitted by this ParticleEmitter The actual rotation will be a random integer between minRotation and maxRotation.

Default: 2 * Math.PI

maxScale

Number

The default maxScale of a particle that is emitted by this ParticleEmitter The actual scale will be a random number between minScale and maxScale.

Default: 1

maxSpeed

Vector

The default maxSpeed of a particle that is emitted by this ParticleEmitter The actual speed will be a random Vector between minSpeed and maxSpeed.

Default: new Vector(100, 100)

minRotation

Number

The default minRotation of a particle that is emitted by this ParticleEmitter The actual rotation will be a random integer between minRotation and maxRotation.

Default: -2 * Math.PI

minScale

Number

The default minScale of a particle that is emitted by this ParticleEmitter The actual scale will be a random number between minScale and maxScale.

Default: 1

minSpeed

Vector

The default minSpeed of a particle that is emitted by this ParticleEmitter The actual speed will be a random Vector between minSpeed and maxSpeed.

Default: new Vector(-100, 100)

name

String

The name of the ParticleEmitter instance. This should be unique in a system, and set by the param passed to the constructor.

parent

DisplayObject

[read-only] The display object that contains this display object.

particles

Array private

The internal pool to create and reuse particles from

position

Point

The coordinate of the object relative to the local coordinates of the parent.

rotation

Number

The rotation of the object in radians.

scale

Point

The scale factor of the object.

stage

Stage

[read-only] The stage the display object is connected to, or undefined if it is not connected to the stage.

visible

Boolean

The visibility of the object.

width

Number

The width of the emitter, particles are emitted in a random integer location within the width and height of the emitter.

Default: 0

Events

click

A callback that is used when the users clicks on the displayObject with their mouse

Event Payload:

  • interactionData InteractionData

collision

On Collision Event called when this sprite collides into another, or is being collided into by another. By default if something collides with a collectable sprite we destroy the collectable and if we collide with a solid tile we kill our velocity. This method will emit a 'collision' event that you can listen for

Event Payload:

  • obj Sprite

    Colliding sprite

  • vec Vector

    Collision vector (for sensors this is normalized)

  • colShape cp.Shape

    The colliding physics shape

  • myShape cp.Shape

    Your physics shape that caused the collision

mousedown

A callback that is used when the user clicks the mouse down over the displayObject

Event Payload:

  • interactionData InteractionData

mousemove

A callback that is used when the user moves the mouse while over the displayObject

Event Payload:

  • interactionData InteractionData

mouseout

A callback that is used when the users mouse leaves the displayObject

Event Payload:

  • interactionData InteractionData

mouseover

A callback that is used when the users mouse rolls over the displayObject

Event Payload:

  • interactionData InteractionData

mouseup

A callback that is used when the user releases the mouse that was over the displayObject for this callback to be fired the mouse must have been pressed down over the displayObject

Event Payload:

  • interactionData InteractionData

mouseupoutside

A callback that is used when the user releases the mouse that was over the displayObject but is no longer over the displayObject for this callback to be fired, The touch must have started over the displayObject

Event Payload:

  • interactionData InteractionData

separate

On Seperate Event called when this sprite collides into another, or is being collided into by another. By default if something collides with a collectable sprite we destroy the collectable and if we collide with a solid tile we kill our velocity. This method will emit a 'collision' event that you can listen for

Event Payload:

  • obj Sprite

    Colliding sprite

  • colShape cp.Shape

    The colliding physics shape

  • myShape cp.Shape

    Your physics shape that caused the collision

tap

A callback that is used when the users taps on the displayObject with their finger basically a touch version of click

Event Payload:

  • interactionData InteractionData

touchend

A callback that is used when the user releases a touch over the displayObject

Event Payload:

  • interactionData InteractionData

touchendoutside

A callback that is used when the user releases the touch that was over the displayObject for this callback to be fired, The touch must have started over the displayObject

Event Payload:

  • interactionData InteractionData

touchstart

A callback that is used when the user touch's over the displayObject

Event Payload:

  • interactionData InteractionData