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:
-
- me.Body
- me.collision#check
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:
-
isDirty :Boolean
-
when true the renderable will be redrawn during the next update cycle
- Inherited From:
- Default Value:
- false
-
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 changepoints
, you must callrecalc
afterwards 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
-
define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.
- Inherited From:
- Default Value:
- (255, 255, 255)
Example
// add a red tint to this renderable this.tint.setColor(255, 128, 128); // remove the tint this.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
- 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 - Inherited From:
-
clone() → {me.Rect}
-
clone this 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
- Inherited From:
-
protected draw(renderer)
-
object draw.
automatically called by the game managerme.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.- Inherited From:
- See:
-
- me.Matrix2d#scaleX
-
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.- Inherited From:
- See:
-
- me.Matrix2d#scaleY
-
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 });
- the element value
-
getBounds() → {me.Rect}
-
returns the bounding box for this renderable
- 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 timeParameters:
Name Type Description GUID
String | RegExp | Number | Boolean entity GUID
- 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 timeParameters:
Name Type Description name
String | RegExp | Number | Boolean entity name
- 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 timeParameters:
Name Type Description prop
String Property name
value
String | RegExp | Number | Boolean Value of the property
- 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
- 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
- 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:
-
lookAt(target) → {me.Renderable}
-
Rotate this renderable towards the given target.
Parameters:
Name Type Description target
me.Renderable | me.Vector2d | me.Vector3d the renderable or position to look at
- 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 after a child has been 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 managerme.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 managerme.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 fromme.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
- Inherited From:
-
rotate(angle) → {me.Renderable}
-
Rotate this renderable by the specified angle (in radians).
Parameters:
Name Type Description angle
Number The angle to rotate (in radians)
- 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.
- Inherited From:
-
scaleV(vector) → {me.Renderable}
-
scale the renderable around his anchor point
Parameters:
Name Type Description vector
me.Vector2d scaling vector
- 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
- 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
- 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
- Inherited From:
-
toIso() → {me.Polygon}
-
apply an isometric projection to this shape
- Inherited From:
-
toPolygon() → {me.Polygon}
-
Returns a polygon whose edges are the same as this box.
- Inherited From:
-
transform(matrix) → {me.Renderable}
-
multiply the renderable currentTransform with the given matrix
Parameters:
Name Type Description matrix
me.Matrix2d the transformation matrix
- 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
- Inherited From:
-
translateV(v) → {me.Rect}
-
translate the rect by the specified vector
Parameters:
Name Type Description v
me.Vector2d vector offset
- Inherited From:
-
union(rect) → {me.Rect}
-
merge this rectangle with another one
Parameters:
Name Type Description rect
me.Rect other rectangle to union with
- Inherited From:
-
protected update(dt)
-
update function.
automatically called by the game managerme.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.
- Inherited From: