A string that you would like the text to display.
Optional
style: Partial<IBitmapTextStyle>The style parameters.
Optional
_accessibleOptional
_accessibleThe bounds object, this is used to calculate and store the bounds of the displayObject.
Local bounds object, swapped with _bounds
when using getLocalBounds()
.
The resolution / device pixel ratio of the canvas.
This is set to automatically match the renderer resolution by default, but can be overridden by setting manually.
PIXI.settings.RESOLUTION
Optional
accessibleOptional
accessibleOptional
accessibleOptional
accessibleOptional
accessibleOptional
accessibleThe opacity of the object.
Readonly
childrenThe 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 cursor preferred when the mouse pointer is hovering over.
Set to true
if the BitmapText needs to be redrawn.
The mode of interaction for this object
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'
.
The hit-area specifies the area for which pointer events should be captured by this event target.
Whether this event target should fire UI events.
Whether this event target has any children that need UI events. This can be used optimize event propagation.
Returns true if the DisplayObject has interactive 'static' or 'dynamic'
Does any other displayObject use this object as a mask?
Used to fast check if a sprite is.. a sprite!
Handler for 'click' event
Handler for 'globalmousemove' event
Handler for 'globalpointermove' event
Handler for 'globaltouchmove' event
Handler for 'mousedown' event
Handler for 'mouseenter' event
Handler for 'mouseleave' event
Handler for 'mousemove' event
Handler for 'mouseout' event
Handler for 'mouseover' event
Handler for 'mouseup' event
Handler for 'mouseupoutside' event
Handler for 'pointercancel' event
Handler for 'pointerdown' event
Handler for 'pointerenter' event
Handler for 'pointerleave' event
Handler for 'pointermove' event
Handler for 'pointerout' event
Handler for 'pointerover' event
Handler for 'pointertap' event
Handler for 'pointerup' event
Handler for 'pointerupoutside' event
Handler for 'rightclick' event
Handler for 'rightdown' event
Handler for 'rightup' event
Handler for 'rightupoutside' event
Handler for 'tap' event
Handler for 'touchcancel' event
Handler for 'touchend' event
Handler for 'touchendoutside' event
Handler for 'touchmove' event
Handler for 'touchstart' event
Handler for 'wheel' event
The display object container that contains this display object.
Optional
renderCan 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.
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 PixiJS Layers
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.
PIXI.Container.defaultSortableChildren
Optional
tabWorld transform and local transform of this object. This will become read-only later, please do not assign anything there unless you know what are you doing.
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.
Readonly
worldThe multiplied alpha of the displayObject.
Static
defaultSets the default value for the container property sortableChildren
.
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 PixiJS Layers.
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.
Static
prefixedStatic
styleThe alignment of the BitmapText object.
'left'
The anchor sets the origin point of the text.
The default is (0,0)
, this means the text's origin is the top left.
Setting the anchor to (0.5,0.5)
means the text's origin is centered.
Setting the anchor to (1,1)
would mean the text's origin point will be the bottom right corner.
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 name of the BitmapFont.
The size of the font to display.
The height of the Container, setting this will actually modify the scale to achieve the value set.
Additional space between characters.
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
PIXI.Graphics or a 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.
import { Graphics, Sprite } from 'pixi.js';
const graphics = new Graphics();
graphics.beginFill(0xFF3300);
graphics.drawRect(50, 250, 100, 100);
graphics.endFill();
const sprite = new Sprite(texture);
sprite.mask = graphics;
At the moment, CanvasRenderer doesn't support Sprite as mask.
The max line height. This is useful when trying to use the total height of the Text, i.e. when trying to vertically align.
The max width of this bitmap text in pixels. If the text provided is longer than the value provided, line breaks will be automatically inserted in the last whitespace. Disable by setting the value to 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).
4.0.0
The coordinate of the object relative to the local coordinates of the parent.
4.0.0
The resolution / device pixel ratio of the canvas.
This is set to automatically match the renderer resolution by default, but can be overridden by setting manually.
1
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.
If true PixiJS will Math.floor() x/y values when rendering, stopping pixel interpolation. Advantages can include sharper image quality (like text) and faster rendering on canvas. The main disadvantage is movement of objects may appear less smooth. To set the global default, change PIXI.settings.ROUND_PIXELS
PIXI.settings.ROUND_PIXELS
The scale factors of this object along the local coordinate axes.
The default scale is (1, 1).
4.0.0
The skew factor for the object in radians.
4.0.0
The text of the BitmapText object.
The height of the overall text, different from fontSize, which is defined in the style object.
The width of the overall text, different from fontSize, which is defined in the style object.
The tint of the BitmapText object.
0xffffff
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 y axis relative to the local coordinates of the parent. An alias to position.y
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.
PIXI.Container#sortableChildren
Optional
options: boolean | IDestroyOptionsAdds one or more children to the container.
Multiple items can be added like so: myContainer.addChild(thingOne, thingTwo, thingThree)
Rest
...children: UThe 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. If the child is already in this container, it will be moved to the specified index.
The child to add.
The absolute index where the child will be positioned at the end of the operation.
The child that was added.
Optional
options: AddListenerOptionsOptional
options: AddListenerOptionsRest
...args: ArgumentMap<DisplayObjectEvents>[Extract<T, keyof DisplayObjectEvents>]Optional
context: anyRemoves all internal references and listeners as well as removes children from the display list.
Do not use a Container after calling destroy
.
Optional
options: boolean | IDestroyOptionsOptions parameter. A boolean will act as if all options have been set to that value
Pair method for enableTempParent
Actual parent of element
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
Calls each of the listeners registered for a given event.
Rest
...args: ArgumentMap<DisplayObjectEvents>[Extract<T, keyof DisplayObjectEvents>]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 the (world) bounds of the display object as a [Rectangle]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]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.
Optional
skipUpdate: booleanSetting 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
rect: RectangleOptional rectangle to store the result of the bounds calculation.
Returns the child at the specified index
The index to get the child at
Optional
deep: booleanReturns the index position of a child DisplayObject instance
The DisplayObject instance to identify
Return the number of listeners listening to a given event.
Return the listeners registered for a given event.
Optional
fn: ((...args) => void)Rest
...args: ArgumentMap<DisplayObjectEvents>[Extract<T, keyof DisplayObjectEvents>]Optional
context: anyOptional
once: booleanAdd a listener for a given event.
Rest
...args: ArgumentMap<DisplayObjectEvents>[Extract<T, keyof DisplayObjectEvents>]Optional
context: anyAdd a one-time listener for a given event.
Rest
...args: ArgumentMap<DisplayObjectEvents>[Extract<T, keyof DisplayObjectEvents>]Optional
context: anyRemoves one or more children from the container.
Rest
...children: UThe 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.
Optional
beginIndex: numberThe beginning position.
Optional
endIndex: numberThe ending position. Default value is size of the container.
Optional
options: RemoveListenerOptionsOptional
options: RemoveListenerOptionsRemove the listeners of a given event.
Optional
fn: ((...args) => void)Rest
...args: ArgumentMap<DisplayObjectEvents>[Extract<T, keyof DisplayObjectEvents>]Optional
context: anyOptional
once: booleanRenders the object using the WebGL renderer.
The [_render]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 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]PIXI.DisplayObject#cullable and [cullArea]PIXI.DisplayObject#cullArea. Other culling methods might be better suited for a large number static objects; see [@pixi-essentials/cull]https://www.npmjs.com/package/@pixi-essentials/cull and [pixi-cull]https://www.npmjs.com/package/pixi-cull.
The [renderAdvanced]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
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.
Optional
x: numberThe X position
Optional
y: numberThe Y position
Optional
scaleX: numberThe X scale value
Optional
scaleY: numberThe Y scale value
Optional
rotation: numberThe rotation
Optional
skewX: numberThe X skew value
Optional
skewY: numberThe Y skew value
Optional
pivotX: numberThe X pivot value
Optional
pivotY: numberThe Y pivot value
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.
Optional
point: PA Point object in which to store the value, optional (otherwise will create a new Point).
Optional
skipUpdate: booleanShould we skip the update transform.
Calculates the local position of the display object relative to another point.
The world origin to calculate from.
Optional
from: DisplayObjectThe DisplayObject to calculate the global position from.
Optional
point: PA Point object in which to store the value, optional (otherwise will create a new Point).
Optional
skipUpdate: booleanShould we skip the update transform
Static
mixinMixes all enumerable properties and methods from a source object to DisplayObject.
The source of properties and methods to mix in.
Generated using TypeDoc
A BitmapText object will create a line or multiple lines of text using bitmap font.
The primary advantage of this class over Text is that all of your textures are pre-generated and loading, meaning that rendering is fast, and changing text has no performance implications.
Supporting character sets other than latin, such as CJK languages, may be impractical due to the number of characters.
To split a line you can use '\n', '\r' or '\r\n' in your string.
PixiJS can auto-generate fonts on-the-fly using BitmapFont or use fnt files provided by: http://www.angelcode.com/products/bmfont/ for Windows or http://www.bmglyph.com/ for Mac.
You can also use SDF, MSDF and MTSDF BitmapFonts for vector-like scaling appearance provided by: https://github.com/soimy/msdf-bmfont-xml for SDF and MSDF fnt files or https://github.com/Chlumsky/msdf-atlas-gen for SDF, MSDF and MTSDF json files
A BitmapText can only be created when the font is loaded.
Example
Memberof
PIXI