Creates a new mesh with the specified geometry and material.
The geometry for the mesh.
The material for the mesh. If the material is empty the mesh won't be rendered.
The bounds object, this is used to calculate and store the bounds of the displayObject.
Flags the cached bounds as dirty.
Cache of this display-object's bounds-rectangle.
If the object has been destroyed via destroy(). If true, it should not be used.
Currently enabled filters.
Which index in the children array the display component was before the previous zIndex sort. Used by containers to help sort objects with the same zIndex, by using previous array index as the decider.
Local bounds object, swapped with _bounds
when using getLocalBounds()
.
Cache of this display-object's local-bounds rectangle.
The original, cached mask of the object.
The zIndex of the displayObject. A higher value will mean it will be rendered on top of other displayObjects within the same container.
The opacity of the object.
The array of children of this container.
If set, this shape is used for culling instead of the bounds of this object. It can improve the culling performance of objects with many children. The culling area is defined in local space.
Should this object be rendered if the bounds of this object are out of frame?
Culling has no effect on whether updateTransform is called.
The enabled render passes for this mesh.
The area the filter is applied to. This is used as more of an optimization rather than figuring out the dimensions of the displayObject each frame you can set this rectangle.
Also works as an interaction mask.
Sets the filters for the displayObject.
IMPORTANT: This is a WebGL only feature and will be ignored by the canvas renderer.
To remove filters simply set this property to 'null'
.
Does any other displayObject use this object as a mask?
Used to fast check if a sprite is.. a sprite!
The name of the plugin used for rendering the mesh.
Used for sorting the mesh before render.
Can this object be rendered, if false the object will not be drawn but the updateTransform methods will still be called.
Only affects recursive calls from parent. You can ask for bounds manually.
The skin used for vertex skinning.
Should children be sorted by zIndex at the next updateTransform call.
Will get automatically set to true if a new child is added, or if a child's zIndex changes.
If set to true, the container will sort its children by zIndex value when updateTransform() is called, or manually if sortChildren() is called.
This actually changes the order of elements in the array, so should be treated as a basic solution that is not performant compared to other solutions, such as @link https://github.com/pixijs/pixi-display
Also be aware of that this may not work nicely with the addChildAt() function, as the zIndex sorting may cause the child to automatically sorted to another position.
Array of weights used for morphing between geometry targets.
The visibility of the object. If false the object will not be drawn, and the updateTransform function will not be called.
Only affects recursive calls from parent. You can ask for bounds or call updateTransform manually.
The multiplied alpha of the displayObject.
The angle of the object in degrees. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.
The angle of the object in degrees. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.
Readonly flag for destroyed display objects.
The height of the Container, setting this will actually modify the scale to achieve the value set.
The height of the Container, setting this will actually modify the scale to achieve the value set.
An array of instances created from this mesh.
Sets a mask for the displayObject. A mask is an object that limits the visibility of an
object to the shape of the mask applied to it. In PixiJS a regular mask must be a
{@link PIXI.Graphics} or a {@link PIXI.Sprite} object. This allows for much faster masking in canvas as it
utilities shape clipping. Furthermore, a mask of an object must be in the subtree of its parent.
Otherwise, getLocalBounds
may calculate incorrect bounds, which makes the container's width and height wrong.
To remove a mask, set this property to null
.
For sprite mask both alpha and red channel are used. Black mask is the same as transparent mask.
Sets a mask for the displayObject. A mask is an object that limits the visibility of an
object to the shape of the mask applied to it. In PixiJS a regular mask must be a
{@link PIXI.Graphics} or a {@link PIXI.Sprite} object. This allows for much faster masking in canvas as it
utilities shape clipping. Furthermore, a mask of an object must be in the subtree of its parent.
Otherwise, getLocalBounds
may calculate incorrect bounds, which makes the container's width and height wrong.
To remove a mask, set this property to null
.
For sprite mask both alpha and red channel are used. Black mask is the same as transparent mask.
The center of rotation, scaling, and skewing for this display object in its local space. The position
is the projection of pivot
in the parent's local space.
By default, the pivot is the origin (0, 0).
The center of rotation, scaling, and skewing for this display object in its local space. The position
is the projection of pivot
in the parent's local space.
By default, the pivot is the origin (0, 0).
The rotation of the object in radians. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.
The rotation of the object in radians. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.
The quaternion rotation of the object.
The skew factor for the object in radians.
The skew factor for the object in radians.
The width of the Container, setting this will actually modify the scale to achieve the value set.
The width of the Container, setting this will actually modify the scale to achieve the value set.
Indicates if the object is globally visible.
The position of the displayObject on the x axis relative to the local coordinates of the parent. An alias to position.x
The position of the displayObject on the x axis relative to the local coordinates of the parent. An alias to position.x
The position of the displayObject on the y axis relative to the local coordinates of the parent. An alias to position.y
The position of the displayObject on the y axis relative to the local coordinates of the parent. An alias to position.y
The position of the object on the z axis relative to the local coordinates of the parent.
The position of the object on the z axis relative to the local coordinates of the parent.
The zIndex of the displayObject.
If a container has the sortableChildren property set to true, children will be automatically sorted by zIndex value; a higher value will mean it will be moved towards the end of the array, and thus rendered on top of other display objects within the same container.
The zIndex of the displayObject.
If a container has the sortableChildren property set to true, children will be automatically sorted by zIndex value; a higher value will mean it will be moved towards the end of the array, and thus rendered on top of other display objects within the same container.
Recalculates the content bounds of this object. This should be overriden to calculate the bounds of this specific object (not including children).
Recursively updates transform of all objects from the root to this one internal function for toLocal()
To be overridden by the subclasses.
Renders this object and its children with culling.
The renderer
Adds one or more children to the container.
Multiple items can be added like so: myContainer.addChild(thingOne, thingTwo, thingThree)
The DisplayObject(s) to add to the container
Adds a child to the container at a specified index. If the index is out of bounds an error will be thrown
The child to add
The index to place the child in
The child that was added.
Recalculates the bounds of the container.
This implementation will automatically fit the children's bounds into the calculation. Each child's bounds is limited to its mask's bounds or filterArea, if any is applied.
Creates a new instance of this mesh.
Destroys the mesh and it's used resources.
Disables the render pass with the specified name.
The name of the render pass to disable.
Pair method for enableTempParent
Actual parent of element
Calls each of the listeners registered for a given event.
Enables the render pass with the specified name.
The name of the render pass to enable.
Used in Renderer, cacheAsBitmap and other places where you call an updateTransform
on root
const cacheParent = elem.enableTempParent();
elem.updateTransform();
elem.disableTempParent(cacheParent);
Return an array listing the events for which the emitter has registered listeners.
Calculates and returns a axis-aligned bounding box of the mesh in world space.
Calculates and returns the (world) bounds of the display object as a [Rectangle]{@link PIXI.Rectangle}.
This method is expensive on containers with a large subtree (like the stage). This is because the bounds
of a container depend on its children's bounds, which recursively causes all bounds in the subtree to
be recalculated. The upside, however, is that calling getBounds
once on a container will indeed update
the bounds of all children (the whole subtree, in fact). This side effect should be exploited by using
displayObject._bounds.getRectangle()
when traversing through all the bounds in a scene graph. Otherwise,
calling getBounds
on each object in a subtree will cause the total cost to increase quadratically as
its height increases.
The transforms of all objects in a container's subtree and of all ancestors are updated. The world bounds of all display objects in a container's subtree will also be recalculated.
The _bounds
object stores the last calculation of the bounds. You can use to entirely skip bounds
calculation if needed.
const lastCalculatedBounds = displayObject._bounds.getRectangle(optionalRect);
Do know that usage of getLocalBounds
can corrupt the _bounds
of children (the whole subtree, actually). This
is a known issue that has not been solved. See [getLocalBounds]{@link PIXI.DisplayObject#getLocalBounds} for more
details.
getBounds
should be called with skipUpdate
equal to true
in a render() call. This is because the transforms
are guaranteed to be update-to-date. In fact, recalculating inside a render() call may cause corruption in certain
cases.
Setting to true
will stop the transforms of the scene graph from
being updated. This means the calculation returned MAY be out of date BUT will give you a
nice performance boost.
Optional rectangle to store the result of the bounds calculation.
Returns the child at the specified index
The index to get the child at
Returns the index position of a child DisplayObject instance
The DisplayObject instance to identify
Retrieves the local bounds of the displayObject as a rectangle object.
Calling getLocalBounds
may invalidate the _bounds
of the whole subtree below. If using it inside a render()
call, it is advised to call getBounds()
immediately after to recalculate the world bounds of the subtree.
Optional rectangle to store the result of the bounds calculation.
Setting to true
will stop re-calculation of children transforms,
it was default behaviour of pixi 4.0-5.2 and caused many problems to users.
Returns a value indicating if the specified render pass is enabled.
The name of the render pass to check.
Return the number of listeners listening to a given event.
Return the listeners registered for a given event.
Add a listener for a given event.
Overridable method that can be used by Container subclasses whenever the children array is modified.
Add a one-time listener for a given event.
Remove all listeners, or those of the specified event.
Removes one or more children from the container.
The DisplayObject(s) to remove
The first child that was removed.
Removes a child from the specified index position.
The index to get the child from
The child that was removed.
Removes all children from this container that are within the begin and end indexes.
The beginning position.
The ending position. Default value is size of the container.
Removes an instance from this mesh.
The instance to remove.
Remove the listeners of a given event.
Renders the object using the WebGL renderer.
The [_render]{@link PIXI.Container#_render} method is be overriden for rendering the contents of the
container itself. This render
method will invoke it, and also invoke the render
methods of all
children afterward.
If renderable
or visible
is false or if worldAlpha
is not positive or if cullable
is true and
the bounds of this object are out of frame, this implementation will entirely skip rendering.
See {@link PIXI.DisplayObject} for choosing between renderable
or visible
. Generally,
setting alpha to zero is not recommended for purely skipping rendering.
When your scene becomes large (especially when it is larger than can be viewed in a single screen), it is advised to employ culling to automatically skip rendering objects outside of the current screen. See [cullable]{@link PIXI.DisplayObject#cullable} and [cullArea]{@link PIXI.DisplayObject#cullArea}. Other culling methods might be better suited for a large number static objects; see @pixi-essentials/cull and pixi-cull.
The [renderAdvanced]{@link PIXI.Container#renderAdvanced} method is internally used when when masking or filtering is applied on a container. This does, however, break batching and can affect performance when masking and filtering is applied extensively throughout the scene graph.
The renderer
Render the object using the WebGL renderer and advanced features.
The renderer
Changes the position of an existing child in the display object container
The child DisplayObject instance for which you want to change the index number
The resulting index number for the child display object
Set the parent Container of this DisplayObject.
The Container to add this DisplayObject to.
Convenience function to set the position, scale, skew and pivot at once.
The X position
The Y position
The X scale value
The Y scale value
The rotation
The X skew value
The Y skew value
The X pivot value
The Y pivot value
Sorts children by zIndex. Previous order is maintained for 2 children with the same zIndex.
Swaps the position of 2 Display Objects within this container.
First display object to swap
Second display object to swap
Calculates the global position of the display object.
The world origin to calculate from.
A Point object in which to store the value, optional (otherwise will create a new Point).
Should we skip the update transform.
Calculates the local position of the display object relative to another point.
The world origin to calculate from.
The DisplayObject to calculate the global position from.
A Point object in which to store the value, optional (otherwise will create a new Point).
Should we skip the update transform
Updates the transform on all children of this container for rendering.
Creates a new uv sphere mesh with the specified material.
The material to use.
The options used when creating the geometry.
Mixes all enumerable properties and methods from a source object to DisplayObject.
The source of properties and methods to mix in.
Generated using TypeDoc
Represents a mesh which contains geometry and has a material.