Class: ParticleContainer

ParticleContainer

The ParticleContainer class is a really fast version of the Node built solely for speed,
so use when you need a lot of sprites or particles. The tradeoff of the ParticleContainer is that advanced
functionality will not work. ParticleContainer implements only the basic object transform (position, scale, rotation).
Any other functionality like tinting, masking, etc will not work on sprites in this batch.

It's extremely easy to use :

var container = new ParticleContainer();

for (var i = 0; i < 100; ++i) {
  var sprite = new Sprite("myImage.png");
  container.addChild(sprite);
}

And here you have a hundred sprites that will be renderer at the speed of light.


new ParticleContainer( [maxSize] [, properties] [, batchSize])

Parameters:
Name Type Argument Default Description
maxSize number <optional>
15000

The maximum number of particles that can be renderer by the container.

properties object <optional>

The properties of children that should be uploaded to the gpu and applied.

Properties
Name Type Argument Default Description
scale boolean <optional>
false

When true, scale be uploaded and applied.

position boolean <optional>
true

When true, position be uploaded and applied.

rotation boolean <optional>
false

When true, rotation be uploaded and applied.

uvs boolean <optional>
false

When true, uvs be uploaded and applied.

alpha boolean <optional>
false

When true, alpha be uploaded and applied.

batchSize number <optional>
15000

Number of particles per batch.

Source:

Extends

Members


alpha :Number

The opacity of the node.

Type:
Inherited From:
Source:

blendMode :number

The blend mode to be applied to the sprite. Apply a value of BLEND_MODES.NORMAL to reset the blend mode.

Type:
  • number
Default Value:
  • BLEND_MODES.NORMAL
Source:
See:
  • BLEND_MODES

cacheAsBitmap :boolean

Set this to true if you want this display object to be cached as a bitmap.
This basically takes a snap shot of the display object as it is at that moment. It can provide a performance benefit for complex static displayObjects.
To remove simply set this property to 'false'

Type:
  • boolean
Inherited From:
Source:

<readonly> children :Array.<Node>

The list of children added to this node.

Type:
Inherited From:
Source:

filterArea :Rectangle

The area the filter is applied to. This is used as more of an optimisation
rather than figuring out the dimensions of the node each frame you can set this rectangle

Type:
Inherited From:
Source:

filters :Array.<AbstractFilter>

Sets the filters for this Node.

  • IMPORTANT: This is a WebGL only feature and will be ignored by the canvas renderer.
    To remove filters simply set this property to 'null'
Type:
Inherited From:
Source:

height :Number

The height of the Node, setting this will actually modify the scale to achieve the value set

Type:
Inherited From:
Source:

interactiveChildren :boolean

Type:
  • boolean
Source:

mask :Graphics|Sprite

Sets a mask for this Node. A mask is an object that limits the visibility of an object to the shape of the mask applied to it.
A regular mask must be a Graphics or a Sprite object. This allows for much faster masking in canvas as it utilises shape clipping.
To remove a mask, set this property to null.

Type:
Inherited From:
Source:
To Do:
  • For the moment, CanvasRenderer doesn't support Sprite as mask.

<readonly> parent :Node

The node that contains this one.

Type:
Inherited From:
Source:

pivot :Vector

The pivot point of the node that it rotates around

Type:
Inherited From:
Source:

position :Vector

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

Type:
Inherited From:
Source:

renderable :Boolean

Can this node be rendered, if false the node will not be drawn but the updateTransform
methods will still be called.

Type:
  • Boolean
Inherited From:
Source:

rotation :Number

The rotation of the node in radians.

Type:
Inherited From:
Source:

roundPixels :boolean

Used for canvas renderering. If true then the elements will be positioned at the nearest pixel. This provides a nice speed boost.

Type:
  • boolean
Default Value:
  • true;
Source:

scale :Vector

The scale factor of the node.

Type:
Inherited From:
Source:

skew :Vector

The skew factor for the node in radians.

Type:
Inherited From:
Source:

system :SystemGfx

Sets the gfx system this node will be rendered with

Type:
Inherited From:
Source:

visible :Boolean

The visibility of the node. If false the node will not be drawn, and
the updateTransform function will not be called.

Type:
  • Boolean
Inherited From:
Source:

width :Number

The width of the Node, setting this will actually modify the scale to achieve the value set

Type:
Inherited From:
Source:

<readonly> worldAlpha :Number

The multiplied alpha of the node

Type:
Inherited From:
Source:

<readonly> worldTransform :Matrix

Current transform of the node based on world (parent) factors

Type:
Inherited From:
Source:

<readonly> worldVisible :Boolean

Indicates if this node is globally visible.

Type:
  • Boolean
Inherited From:
Source:

x :Number

The position of this Node on the x axis relative to the local coordinates of the parent.

Type:
Inherited From:
Source:

y :Number

The position of this Node on the y axis relative to the local coordinates of the parent.

Type:
Inherited From:
Source:

Methods


addListener()

Inherited From:
Source:

destroy( [destroyChildren])

Destroys the container

Parameters:
Name Type Argument Default Description
destroyChildren boolean <optional>
false

if set to true, all the children will have their destroy method called as well

Source:

emit(event, a1, a2, a3, a4, a5)

Emit an event to all registered event listeners.

Parameters:
Name Type Description
event string

The name of the event.

a1 *

First param

a2 *

Second param

a3 *

Third param

a4 *

Forth param

a5 *

Fifth param

Inherited From:
Source:
Returns:

Indication if we've emitted an event.

Type
boolean

listeners(event, exists)

Return a list of assigned event listeners.

Parameters:
Name Type Description
event string

The events that should be listed.

exists boolean

We only need to know if there are listeners.

Inherited From:
Source:
Returns:

Listener list

Type
array | boolean

off()

Inherited From:
Source:

on(event, fn, context)

Register a new EventListener for the given event.

Parameters:
Name Type Description
event string

Name of the event.

fn functon

Callback function.

context Mixed

The context of the function.

Inherited From:
Source:
Returns:

Self for chaining

Type
EventEmitter

once(event, fn, context)

Add an EventListener that's only called once.

Parameters:
Name Type Description
event string

Name of the event.

fn function

Callback function.

context Mixed

The context of the function.

Inherited From:
Source:
Returns:

Self for chaining

Type
EventEmitter

removeAllListeners(event)

Remove all listeners or only the listeners for the specified event.

Parameters:
Name Type Description
event string

The event want to remove all listeners for.

Inherited From:
Source:
Returns:

Self for chaining

Type
EventEmitter

removeListener(event, fn, context, once)

Remove event listeners.

Parameters:
Name Type Description
event string

The event we want to remove.

fn function

The listener that we need to find.

context Mixed

Only remove listeners matching this context.

once boolean

Only remove once listeners.

Inherited From:
Source:
Returns:

Self for chaining

Type
EventEmitter

setProperties(properties)

Sets the private properties array to dynamic / static based on the passed properties object

Parameters:
Name Type Description
properties object

The properties to be uploaded

Source:

setTransform( [x] [, y] [, scaleX] [, scaleY] [, rotation] [, skewX] [, skewY] [, pivotX] [, pivotY])

Convenience function to set the postion, scale, skew and pivot at once.

Parameters:
Name Type Argument Default Description
x Number <optional>
0

The X position

y Number <optional>
0

The Y position

scaleX Number <optional>
1

The X scale value

scaleY Number <optional>
1

The Y scale value

rotation Number <optional>
0

The rotation

skewX Number <optional>
0

The X skew value

skewY Number <optional>
0

The Y skew value

pivotX Number <optional>
0

The X pivot value

pivotY Number <optional>
0

The Y pivot value

Inherited From:
Source:
Returns:

This for chaining.

Type
Node

toGlobal(position)

Calculates the global position of this node

Parameters:
Name Type Description
position Vector

The world origin to calculate from

Inherited From:
Source:
Returns:

A point representing the position of this node

Type
Vector

toLocal(position [, from] [, point])

Calculates the local position of this node relative to another point

Parameters:
Name Type Argument Description
position Vector

The world origin to calculate from

from Node <optional>

The Node to calculate the global position from

point Vector <optional>

A Point in which to store the value, optional (otherwise will create a new Point)

Inherited From:
Source:
Returns:

A point representing the position of this node

Type
Vector