me.ParticleContainer(emitter)

new ParticleContainer(emitter)

Particle Container Object.

Parameters:
Name Type Description
emitter me.ParticleEmitter

the emitter which owns this container

Extends

Members

alpha :Number

Define the renderable opacity
Set to zero if you do not wish an object to be drawn

Inherited From:
Default Value:
  • 1.0
See:

ancestor :me.Container|me.Entity

a reference to the parent object that contains this renderable

Inherited From:
Default Value:
  • undefined

anchorPoint :me.ObservableVector2d

The anchor point is used for attachment behavior, and/or when applying transformations.
The coordinate system places the origin at the top left corner of the frame (0, 0) and (1, 1) means the bottom-right corner
:
a Renderable's anchor point defaults to (0.5,0.5), which corresponds to the center position.

Inherited From:
Default Value:
  • <0.5,0.5>

body :me.Body

the renderable physic body

Inherited From:
See:
Example
// define a new Player Class
 game.PlayerEntity = me.Sprite.extend({
     // constructor
     init:function (x, y, settings) {
         // call the parent constructor
         this._super(me.Sprite, 'init', [x, y , settings]);

         // define a basic walking animation
         this.addAnimation("walk",  [...]);
         // define a standing animation (using the first frame)
         this.addAnimation("stand",  [...]);
         // set the standing animation as default
         this.setCurrentAnimation("stand");

         // add a physic body
         this.body = new me.Body(this);
         // add a default collision shape
         this.body.addShape(new me.Rect(0, 0, this.width, this.height));
         // configure max speed and friction
         this.body.setMaxVelocity(3, 15);
         this.body.setFriction(0.4, 0);

         // enable physic collision (off by default for basic me.Renderable)
         this.isKinematic = false;

         // set the display to follow our position on both axis
         me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);
     },

     ...

}

childBounds :me.Rect

The bounds that contains all its children

Inherited From:

currentTransform :me.Matrix2d

the renderable default transformation matrix

Inherited From:

mask :me.Rect|me.Polygon|me.Line|me.Ellipse

A mask limits rendering elements to the shape and position of the given mask object. So, if the renderable is larger than the mask, only the intersecting part of the renderable will be visible.

Inherited From:
Default Value:
  • undefined
Example
// apply a mask in the shape of a Star
myNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [
   // draw a star
   {x: 0, y: 0},
   {x: 14, y: 30},
   {x: 47, y: 35},
   {x: 23, y: 57},
   {x: 44, y: 90},
   {x: 0, y: 62},
   {x: -44, y: 90},
   {x: -23, y: 57},
   {x: -47, y: 35},
   {x: -14, y: 30}
]);

onVisibilityChange :function

an event handler that is called when the renderable leave or enter a camera viewport

Inherited From:
Default Value:
  • undefined
Example
this.onVisibilityChange = function(inViewport) {
    if (inViewport === true) {
        console.log("object has entered the in a camera viewport!");
    }
};

points :Array.<me.Vector2d>

Array of points defining the Polygon
Note: If you manually change points, you must call recalcafterwards so that the changes get applied correctly.

Inherited From:

pos :me.ObservableVector3d

Position of the Renderable relative to its parent container

Inherited From:

tint :me.Color

apply a tint to this renderable (WebGL Only)

Inherited From:
Default Value:
  • undefined
Example
// add a red tint to this renderable
this.renderable.tint = new me.Color(255, 128, 128);
// disable the tint
this.renderable.tint.setColor(255, 255, 255);

Methods

addChild(child, zopt) → {me.Renderable}

Add a child to the container
if auto-sort is disable, the object will be appended at the bottom of the list. Adding a child to the container will automatically remove it from its other container. Meaning a child can only have one parent. This is important if you add a renderable to a container then add it to the me.game.world container it will move it out of the orginal container. Then when the me.game.world.reset() is called the renderable will not be in any container.

Parameters:
Name Type Attributes Description
child me.Renderable
z number <optional>

forces the z index of the child to the specified value

Returns:
me.Renderable -

the added child

Inherited From:

addChildAt(child, index) → {me.Renderable}

Add a child to the container at the specified index
(the list won't be sorted after insertion)

Parameters:
Name Type Description
child me.Renderable
index Number
Returns:
me.Renderable -

the added child

Inherited From:

clone() → {me.Rect}

clone this rectangle

Returns:
me.Rect -

new rectangle

Inherited From:

contains(rect) → {boolean}

check if this rectangle contains the specified one

Parameters:
Name Type Description
rect me.Rect
Returns:
boolean -

true if contains

Inherited From:

containsPoint(x, y) → {boolean}

check if this rectangle contains the specified point

Parameters:
Name Type Description
x Number

x coordinate

y Number

y coordinate

Returns:
boolean -

true if contains

Inherited From:

containsPointV(point) → {boolean}

check if this Polygon contains the specified point

Parameters:
Name Type Description
point me.Vector2d
Returns:
boolean -

true if contains

Inherited From:

copy(rect) → {me.Rect}

copy the position and size of the given rectangle into this one

Parameters:
Name Type Description
rect me.Rect

Source rectangle

Returns:
me.Rect -

new rectangle

Inherited From:

protected draw(renderer)

object draw.
automatically called by the game manager me.game

Parameters:
Name Type Description
renderer me.CanvasRenderer | me.WebGLRenderer

a renderer object

Inherited From:

equals(rect) → {boolean}

check if this rectangle is identical to the specified one

Parameters:
Name Type Description
rect me.Rect
Returns:
boolean -

true if equals

Inherited From:

flipX(flipopt) → {me.Renderable}

flip the renderable on the horizontal axis (around the center of the renderable)

Parameters:
Name Type Attributes Default Description
flip Boolean <optional>
false

true to flip this renderable.

Returns:
me.Renderable -

Reference to this object for method chaining

Inherited From:
See:

flipY(flipopt) → {me.Renderable}

flip the renderable on the vertical axis (around the center of the renderable)

Parameters:
Name Type Attributes Default Description
flip Boolean <optional>
false

true to flip this renderable.

Returns:
me.Renderable -

Reference to this object for method chaining

Inherited From:
See:

forEach(callback, thisArgopt)

The forEach() method executes a provided function once per child element.
callback is invoked with three arguments:

  • the element value
  • the element index
  • the array being traversed
Parameters:
Name Type Attributes Description
callback function
thisArg Object <optional>

value to use as this(i.e reference Object) when executing callback.

Inherited From:
Example
// iterate through all children of the root container
me.game.world.forEach(function (child) {
   // do something with the child
});

getBounds() → {me.Rect}

returns the bounding box for this renderable

Returns:
me.Rect -

bounding box Rectangle object

Inherited From:

getChildAt(index)

Returns the Child at the specified index

Parameters:
Name Type Description
index Number
Inherited From:

getChildByGUID(GUID) → {me.Renderable}

return the child corresponding to the specified GUID
note : avoid calling this function every frame since it parses the whole object list each time

Parameters:
Name Type Description
GUID String | RegExp | Number | Boolean

entity GUID

Returns:
me.Renderable -

corresponding child or null

Inherited From:

getChildByName(name) → {Array.<me.Renderable>}

returns the list of childs with the specified name
as defined in Tiled (Name field of the Object Properties)
note : avoid calling this function every frame since it parses the whole object list each time

Parameters:
Name Type Description
name String | RegExp | Number | Boolean

entity name

Returns:
Array.<me.Renderable> -

Array of children

Inherited From:

getChildByProp(prop, value) → {Array.<me.Renderable>}

return the child corresponding to the given property and value.
note : avoid calling this function every frame since it parses the whole object tree each time

Parameters:
Name Type Description
prop String

Property name

value String | RegExp | Number | Boolean

Value of the property

Returns:
Array.<me.Renderable> -

Array of childs

Inherited From:
Example
// get the first child object called "mainPlayer" in a specific container :
var ent = myContainer.getChildByProp("name", "mainPlayer");

// or query the whole world :
var ent = me.game.world.getChildByProp("name", "mainPlayer");

// partial property matches are also allowed by using a RegExp.
// the following matches "redCOIN", "bluecoin", "bagOfCoins", etc :
var allCoins = me.game.world.getChildByProp("name", /coin/i);

// searching for numbers or other data types :
var zIndex10 = me.game.world.getChildByProp("z", 10);
var inViewport = me.game.world.getChildByProp("inViewport", true);

getChildByType(class) → {Array.<me.Renderable>}

returns the list of childs with the specified class type

Parameters:
Name Type Description
class Object

type

Returns:
Array.<me.Renderable> -

Array of children

Inherited From:

getChildIndex(child)

Returns the index of the given Child

Parameters:
Name Type Description
child me.Renderable
Inherited From:

getIndices(a) → {me.Polygon}

returns a list of indices for all triangles defined in this polygon

Parameters:
Name Type Description
a Array.<Vector2d>

list of vector

Returns:
me.Polygon -

this Polygon

Inherited From:

getOpacity() → {Number}

get the renderable alpha channel value

Returns:
Number -

current opacity value between 0 and 1

Inherited From:

hasChild(child) → {Boolean}

Returns true if contains the specified Child

Parameters:
Name Type Description
child me.Renderable
Returns:
Boolean
Inherited From:

isFinite() → {boolean}

determines whether all coordinates of this rectangle are finite numbers.

Returns:
boolean -

false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

Inherited From:

moveDown(child)

Move the child in the group one step backward (z depth).

Parameters:
Name Type Description
child me.Renderable
Inherited From:

moveToBottom(child)

Move the specified child the bottom (z depth).

Parameters:
Name Type Description
child me.Renderable
Inherited From:

moveToTop(child)

Move the specified child to the top(z depth).

Parameters:
Name Type Description
child me.Renderable
Inherited From:

moveUp(child)

Move the child in the group one step forward (z depth).

Parameters:
Name Type Description
child me.Renderable
Inherited From:

onChildChange(index)

a callback to be extended, triggered when a child is added or removed

Parameters:
Name Type Description
index Number

added or removed child index

Inherited From:

overlaps(rect) → {boolean}

check if this rectangle is intersecting with the specified one

Parameters:
Name Type Description
rect me.Rect
Returns:
boolean -

true if overlaps

Inherited From:

protected postDraw(renderer)

restore the rendering context after drawing.
automatically called by the game manager me.game

Parameters:
Name Type Description
renderer me.CanvasRenderer | me.WebGLRenderer

a renderer object

Inherited From:

protected preDraw(renderer)

prepare the rendering context before drawing (apply defined transforms, anchor point).
automatically called by the game manager me.game

Parameters:
Name Type Description
renderer me.CanvasRenderer | me.WebGLRenderer

a renderer object

Inherited From:

removeChild(child, keepaliveopt)

Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has completed

Parameters:
Name Type Attributes Default Description
child me.Renderable
keepalive Boolean <optional>
False

True to prevent calling child.destroy()

Inherited From:

removeChildNow(child, keepaliveopt)

Removes (and optionally destroys) a child from the container.
(removal is immediate and unconditional)
Never use keepalive=true with objects from me.pool. Doing so will create a memory leak.

Parameters:
Name Type Attributes Default Description
child me.Renderable
keepalive Boolean <optional>
False

True to prevent calling child.destroy()

Inherited From:

resize(w, h) → {me.Rect}

resize the rectangle

Parameters:
Name Type Description
w Number

new width of the rectangle

h Number

new height of the rectangle

Returns:
me.Rect -

this rectangle

Inherited From:

rotate(angle) → {me.Polygon}

Rotate this Polygon (counter-clockwise) by the specified angle (in radians).

Parameters:
Name Type Description
angle Number

The angle to rotate (in radians)

Returns:
me.Polygon -

Reference to this object for method chaining

Inherited From:

scale(x, yopt) → {me.Renderable}

scale the renderable around his anchor point. Scaling actually applies changes to the currentTransform member wich is used by the renderer to scale the object when rendering. It does not scale the object itself. For example if the renderable is an image, the image.width and image.height properties are unaltered but the currentTransform member will be changed.

Parameters:
Name Type Attributes Default Description
x Number

a number representing the abscissa of the scaling vector.

y Number <optional>
x

a number representing the ordinate of the scaling vector.

Returns:
me.Renderable -

Reference to this object for method chaining

Inherited From:

scaleV(vector) → {me.Renderable}

scale the renderable around his anchor point

Parameters:
Name Type Description
vector me.Vector2d

scaling vector

Returns:
me.Renderable -

Reference to this object for method chaining

Inherited From:

setChildsProperty(property, value, recursiveopt)

Automatically set the specified property of all childs to the given value

Parameters:
Name Type Attributes Default Description
property String

property name

value Object

property value

recursive Boolean <optional>
false

recursively apply the value to child containers if true

Inherited From:

setOpacity(alpha)

set the renderable alpha channel value

Parameters:
Name Type Description
alpha Number

opacity value between 0.0 and 1.0

Inherited From:

setPoints(points) → {me.Rect}

resize the rectangle to contain all the given points coordinates.

Parameters:
Name Type Description
points Array.<me.Vector2d>

array of vector defining a shape

Returns:
me.Rect -

this shape bounding box Rectangle object

Inherited From:

setShape(x, y, w|points, hopt) → {me.Rect}

set new value to the rectangle shape

Parameters:
Name Type Attributes Description
x Number

position of the Rectangle

y Number

position of the Rectangle

w|points Number | Array

width of the rectangle, or an array of vector defining the rectangle

h Number <optional>

height of the rectangle, if a numeral width parameter is specified

Returns:
me.Rect -

this rectangle

Inherited From:

sort(recursiveopt)

Manually trigger the sort of all the childs in the container

Parameters:
Name Type Attributes Default Description
recursive Boolean <optional>
false

recursively sort all containers if true

Inherited From:

swapChildren(child, child2)

Swaps the position (z-index) of 2 children

Parameters:
Name Type Description
child me.Renderable
child2 me.Renderable
Inherited From:

to2d() → {me.Polygon}

apply a 2d projection to this shape

Returns:
me.Polygon -

Reference to this object for method chaining

Inherited From:

toIso() → {me.Polygon}

apply an isometric projection to this shape

Returns:
me.Polygon -

Reference to this object for method chaining

Inherited From:

toPolygon() → {me.Polygon}

Returns a polygon whose edges are the same as this box.

Returns:
me.Polygon -

a new Polygon that represents this rectangle.

Inherited From:

transform(matrix) → {me.Renderable}

multiply the renderable currentTransform with the given matrix

Parameters:
Name Type Description
matrix me.Matrix2d

the transformation matrix

Returns:
me.Renderable -

Reference to this object for method chaining

Inherited From:
See:

translate(x, y) → {me.Rect}

translate the rect by the specified offset

Parameters:
Name Type Description
x Number

x offset

y Number

y offset

Returns:
me.Rect -

this rectangle

Inherited From:

translateV(v) → {me.Rect}

translate the rect by the specified vector

Parameters:
Name Type Description
v me.Vector2d

vector offset

Returns:
me.Rect -

this rectangle

Inherited From:

union(rect) → {me.Rect}

merge this rectangle with another one

Parameters:
Name Type Description
rect me.Rect

other rectangle to union with

Returns:
me.Rect -

the union(ed) rectangle

Inherited From:

protected update(dt)

update function.
automatically called by the game manager me.game

Parameters:
Name Type Description
dt Number

time since the last update in milliseconds.

Returns:
-

false

Inherited From:

updateChildBounds() → {me.Rect}

resizes the child bounds rectangle, based on children bounds.

Returns:
me.Rect -

updated child bounds

Inherited From: