PIXI.DisplayObject
class DisplayObject extends EventEmitter
The base class for all objects that are rendered on the screen.
This is an abstract class and can not be used on its own; rather it should be extended.
Display objects implemented in PixiJS
Display Object | Description |
---|---|
PIXI.Container | Adds support for children to DisplayObject |
PIXI.Graphics | Shape-drawing display object similar to the Canvas API |
PIXI.Sprite | Draws textures (i.e. images) |
PIXI.Text | Draws text using the Canvas API internally |
PIXI.BitmapText | More scaleable solution for text rendering, reusing glyph textures |
PIXI.TilingSprite | Draws textures/images in a tiled fashion |
PIXI.AnimatedSprite | Draws an animation of multiple images |
PIXI.Mesh | Provides a lower-level API for drawing meshes with custom data |
PIXI.NineSlicePlane | Mesh-related |
PIXI.SimpleMesh | v4-compatible mesh |
PIXI.SimplePlane | Mesh-related |
PIXI.SimpleRope | Mesh-related |
Transforms
The transform of a display object describes the projection from its local coordinate space to its parent's local coordinate space. The following properties are derived from the transform:
Property | Description |
---|---|
pivot | Invariant under rotation, scaling, and skewing. The projection of into the parent's space of the pivot is equal to position, regardless of the other three transformations. In other words, It is the center of rotation, scaling, and skewing. |
position | Translation. This is the position of the pivot in the parent's local space. The default value of the pivot is the origin (0,0). If the top-left corner of your display object is (0,0) in its local space, then the position will be its top-left corner in the parent's local space. |
scale | Scaling. This will stretch (or compress) the display object's projection. The scale factors are along the local coordinate axes. In other words, the display object is scaled before rotated or skewed. The center of scaling is the pivot. |
rotation | Rotation. This will rotate the display object's projection by this angle (in radians). |
skew |
Skewing. This can be used to deform a rectangular display object into a parallelogram. In PixiJS, skew has a slightly different behaviour than the conventional meaning. It can be thought of the net rotation applied to the coordinate axes (separately). For example, if "skew.x" is ⍺ and "skew.y" is β, then the line x = 0 will be rotated by ⍺ (y = -x*cot⍺) and the line y = 0 will be rotated by β (y = x*tanβ). A line y = x*tanϴ (i.e. a line at angle ϴ to the x-axis in local-space) will be rotated by an angle between ⍺ and β. It can be observed that if skew is applied equally to both axes, then it will be equivalent to applying a rotation. Indeed, if "skew.x" = -ϴ and "skew.y" = ϴ, it will produce an equivalent of "rotation" = ϴ. Another quite interesting observation is that "skew.x", "skew.y", rotation are communtative operations. Indeed, because rotation is essentially a careful combination of the two. |
angle | Rotation. This is an alias for rotation, but in degrees. |
x | Translation. This is an alias for position.x! |
y | Translation. This is an alias for position.y! |
width | Implemented in Container. Scaling. The width property calculates scale.x by dividing the "requested" width by the local bounding box width. It is indirectly an abstraction over scale.x, and there is no concept of user-defined width. |
height | Implemented in Container. Scaling. The height property calculates scale.y by dividing the "requested" height by the local bounding box height. It is indirectly an abstraction over scale.y, and there is no concept of user-defined height. |
Bounds
The bounds of a display object is defined by the minimum axis-aligned rectangle in world space that can fit
around it. The abstract calculateBounds
method is responsible for providing it (and it should use the
worldTransform
to calculate in world space).
There are a few additional types of bounding boxes:
Bounds | Description |
---|---|
World Bounds | This is synonymous is the regular bounds described above. See getBounds() . |
Local Bounds | This the axis-aligned bounding box in the parent's local space. See getLocalBounds() . |
Render Bounds | The bounds, but including extra rendering effects like filter padding. |
Projected Bounds | The bounds of the projected display object onto the screen. Usually equals world bounds. |
Relative Bounds | The bounds of a display object when projected onto a ancestor's (or parent's) space. |
Natural Bounds | The bounds of an object in its own local space (not parent's space, like in local bounds) |
Content Bounds | The natural bounds when excluding all children of a Container . |
calculateBounds
Container already implements calculateBounds
in a manner that includes children.
But for a non-Container display object, the calculateBounds
method must be overridden in order for getBounds
and
getLocalBounds
to work. This method must write the bounds into this._bounds
.
Generally, the following technique works for most simple cases: take the list of points forming the "hull" of the object (i.e. outline of the object's shape), and then add them using PIXI.Bounds#addPointMatrix.
calculateBounds(): void
{
const points = [...];
for (let i = 0, j = points.length; i < j; i++)
{
this._bounds.addPointMatrix(this.worldTransform, points[i]);
}
}
You can optimize this for a large number of points by using PIXI.Bounds#addVerticesMatrix to pass them in one array together.
Alpha
This alpha sets a display object's relative opacity w.r.t its parent. For example, if the alpha of a display object is 0.5 and its parent's alpha is 0.5, then it will be rendered with 25% opacity (assuming alpha is not applied on any ancestor further up the chain).
The alpha with which the display object will be rendered is called the worldAlpha.
Renderable vs Visible
The renderable
and visible
properties can be used to prevent a display object from being rendered to the
screen. However, there is a subtle difference between the two. When using renderable
, the transforms of the display
object (and its children subtree) will continue to be calculated. When using visible
, the transforms will not
be calculated.
It is recommended that applications use the renderable
property for culling. See
@pixi-essentials/cull or
pixi-cull for more details.
Otherwise, to prevent an object from rendering in the general-purpose sense - visible
is the property to use. This
one is also better in terms of performance.
Summary
Properties from DisplayObject
boolean |
|
boolean |
|
PIXI.Bounds |
The bounds object, this is used to calculate and store the bounds of the displayObject. |
PIXI.Bounds |
Local bounds object, swapped with |
boolean |
|
boolean |
|
string |
|
string |
|
?string |
|
string |
|
number |
The opacity of the object. |
number |
|
boolean |
|
boolean |
|
number |
|
number |
|
boolean |
Should this object be rendered if the bounds of this object are out of frame? |
PIXI.Rectangle |
|
string |
|
boolean |
Readonly flag for destroyed display objects. |
PIXI.Rectangle |
|
PIXI.Filter[] | null |
|
PIXI.IHitArea |
|
boolean |
|
boolean |
Does any other displayObject use this object as a mask? |
boolean |
Used to fast check if a sprite is.. a sprite! |
PIXI.Matrix |
|
PIXI.Container | PIXI.MaskData | null |
|
string |
|
PIXI.Container |
The display object container that contains this display object. |
PIXI.ObservablePoint |
|
PIXI.ObservablePoint |
|
boolean |
|
number |
|
PIXI.ObservablePoint |
The scale factors of this object along the local coordinate axes. |
PIXI.ObservablePoint |
|
PIXI.DisplayObject |
|
PIXI.Transform |
|
boolean |
|
number |
|
PIXI.Matrix |
|
boolean |
|
number |
|
number |
|
number |
The zIndex of the displayObject. |
number |
Flags the cached bounds as dirty. |
PIXI.Rectangle |
Cache of this display-object's bounds-rectangle. |
boolean |
If the object has been destroyed via destroy(). If true, it should not be used. |
PIXI.Filter[] |
|
number |
|
PIXI.Rectangle |
Cache of this display-object's local-bounds rectangle. |
PIXI.Container | PIXI.MaskData |
|
PIXI.Container |
|
number |
|
Group |
The group in which this display object should be rendered. |
Layer |
|
number |
|
Methods from DisplayObject
Events from DisplayObject
|
|
|
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
|
|
Capture phase equivalent of |
|
Fired when the mouse pointer is moved over a DisplayObject and its descendant's hit testing boundaries. |
|
Capture phase equivalent of |
|
Fired when the mouse pointer exits a DisplayObject and its descendants. |
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
Fired when the pointer is moved over a DisplayObject and its descendant's hit testing boundaries. |
|
Capture phase equivalent of |
|
Fired when the pointer leaves the hit testing boundaries of a DisplayObject and its descendants. |
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
|
|
|
|
Capture phase equivalent of |
|
PIXI.FederatedWheelEvent |
Fired when a the user scrolls with the mouse cursor over a DisplayObject. |
PIXI.FederatedWheelEvent |
Capture phase equivalent of |
Public Properties
_accessibleActive: boolean = false
_accessibleDiv: boolean = undefined
_bounds: PIXI.Bounds
The bounds object, this is used to calculate and store the bounds of the displayObject.
_localBounds: PIXI.Bounds
Local bounds object, swapped with _bounds
when using getLocalBounds()
.
accessible: boolean = false
Flag for if the object is accessible. If true AccessibilityManager will overlay a shadow div with attributes set
accessibleChildren: boolean = true
Setting to false will prevent any children inside this container to be accessible. Defaults to true.
accessibleHint: string = undefined
Sets the aria-label attribute of the shadow div
accessiblePointerEvents: string = 'auto'
Specify the pointer-events the accessible div will use Defaults to auto.
accessibleTitle: ?string = undefined
Sets the title attribute of the shadow div If accessibleTitle AND accessibleHint has not been this will default to 'displayObject [tabIndex]'
accessibleType: string = 'button'
Specify the type of div the accessible layer is. Screen readers treat the element differently depending on this type. Defaults to button.
angle: number
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.
buttonMode: boolean
If enabled, the mouse cursor use the pointer behavior when hovered over the displayObject if it is interactive
Setting this changes the 'cursor' property to 'pointer'
.
const sprite = new PIXI.Sprite(texture);
sprite.interactive = true;
sprite.buttonMode = true;
Name | Type | Description |
---|---|---|
value | boolean |
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
IMPORTANT GOTCHA - Make sure that all your textures are preloaded BEFORE setting this property to true as it will take a snapshot of what is currently there. If the textures have not loaded then they will not appear.
cacheAsBitmapMultisample: number = PIXI.MSAA_QUALITY.NONE
The number of samples to use for cacheAsBitmap. If set to null
, the renderer's
sample count is used.
If cacheAsBitmap
is set to true
, this will re-render with the new number of samples.
cacheAsBitmapResolution: number = null
The resolution to use for cacheAsBitmap. By default this will use the renderer's resolution
but can be overriden for performance. Lower values will reduce memory usage at the expense
of render quality. A falsey value of null
or 0
will default to the renderer's resolution.
If cacheAsBitmap
is set to true
, this will re-render with the new resolution.
cullable: boolean
Should this object be rendered if the bounds of this object are out of frame?
Culling has no effect on whether updateTransform is called.
cullArea: PIXI.Rectangle
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.
cursor: string = undefined
This defines what cursor mode is used when the mouse cursor is hovered over the displayObject.
const sprite = new PIXI.Sprite(texture);
sprite.interactive = true;
sprite.cursor = 'wait';
filterArea: PIXI.Rectangle
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.
filters: PIXI.Filter[] | null
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'
.
hitArea: PIXI.IHitArea = undefined
Interaction shape. Children will be hit first, then this shape will be checked. Setting this will cause this shape to be checked in hit tests rather than the displayObject's bounds.
const sprite = new PIXI.Sprite(texture);
sprite.interactive = true;
sprite.hitArea = new PIXI.Rectangle(0, 0, 100, 100);
interactive: boolean = false
Enable interaction events for the DisplayObject. Touch, pointer and mouse
events will not be emitted unless interactive
is set to true
.
const sprite = new PIXI.Sprite(texture);
sprite.interactive = true;
sprite.on('tap', (event) => {
//handle event
});
localTransform: PIXI.Matrix
Current transform of the object based on local factors: position, scale, other stuff.
mask: PIXI.Container | PIXI.MaskData | null
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.
const graphics = new PIXI.Graphics();
graphics.beginFill(0xFF3300);
graphics.drawRect(50, 250, 100, 100);
graphics.endFill();
const sprite = new PIXI.Sprite(texture);
sprite.mask = graphics;
parent: PIXI.Container
The display object container that contains this display object.
pivot: PIXI.ObservablePoint
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).
position: PIXI.ObservablePoint
The coordinate of the object relative to the local coordinates of the parent.
renderable: boolean
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.
rotation: number
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.
scale: PIXI.ObservablePoint
The scale factors of this object along the local coordinate axes.
The default scale is (1, 1).
smartMask: PIXI.DisplayObject = undefined
It enable smart-masking, set this property. Before rendering the scene graph, you must invoke
updateSmartMask
on each display-object to enable masking.
transform: PIXI.Transform
World 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.
visible: boolean
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.
worldTransform: PIXI.Matrix
Current transform of the object based on world (parent) factors.
worldVisible: boolean
Indicates if the object is globally visible.
x: number
The position of the displayObject on the x axis relative to the local coordinates of the parent. An alias to position.x
y: number
The position of the displayObject on the y axis relative to the local coordinates of the parent. An alias to position.y
zIndex: number
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.
parentGroup: Group
The group in which this display object should be rendered.
This is provided by @pixi/layers.
parentLayer: Layer
The layer in which this display object should be rendered; don't set this if you're using PIXI.DisplayObject#parentLayer.
This is provided by @pixi/layers.
zOrder: number
Protected Properties
protected _boundsRect: PIXI.Rectangle
Cache of this display-object's bounds-rectangle.
protected _destroyed: boolean
If the object has been destroyed via destroy(). If true, it should not be used.
protected _enabledFilters: PIXI.Filter[]
Currently enabled filters.
protected _lastSortedIndex: number
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.
protected _localBoundsRect: PIXI.Rectangle
Cache of this display-object's local-bounds rectangle.
protected _mask: PIXI.Container | PIXI.MaskData
The original, cached mask of the object.
protected _tempDisplayObjectParent: PIXI.Container
protected _zIndex: number
The zIndex of the displayObject. A higher value will mean it will be rendered on top of other displayObjects within the same container.
Public Methods
static mixin(source: Dict) → {void}
Mixes all enumerable properties and methods from a source object to DisplayObject.
Name | Type | Description |
---|---|---|
source | Dict<any> |
The source of properties and methods to mix in. |
Type | Description |
---|---|
void |
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) → {}
Unlike on
or addListener
which are methods from EventEmitter, addEventListener
seeks to be compatible with the DOM's addEventListener
with support for options.
IMPORTANT: Only available if using the @pixi/events
package.
// Tell the user whether they did a single, double, triple, or nth click.
button.addEventListener('click', {
handleEvent(e): {
let prefix;
switch (e.detail) {
case 1: prefix = 'single'; break;
case 2: prefix = 'double'; break;
case 3: prefix = 'triple'; break;
default: prefix = e.detail + 'th'; break;
}
console.log('That was a ' + prefix + 'click');
}
});
// But skip the first click!
button.parent.addEventListener('click', function blockClickOnce(e) {
e.stopImmediatePropagation();
button.parent.removeEventListener('click', blockClickOnce, true);
}, {
capture: true,
})
Name | Type | Attributes | Description |
---|---|---|---|
type | string |
The type of event to listen to. |
|
listener | EventListenerOrEventListenerObject |
The listener callback or object. |
|
options | boolean | AddEventListenerOptions |
<optional> |
Listener options, used for capture phase. |
calculateBounds() → {void}
Recalculates the bounds of the display object.
Type | Description |
---|---|
void |
destroy(_options: IDestroyOptions | boolean) → {void}
Base destroy method for generic display objects. This will automatically
remove the display object from its parent Container as well as remove
all current event listeners and internal references. Do not use a DisplayObject
after calling destroy()
.
Name | Type | Attributes | Description |
---|---|---|---|
_options | IDestroyOptions | boolean |
<optional> |
Type | Description |
---|---|
void |
disableTempParent(cacheParent: PIXI.Container) → {void}
Pair method for enableTempParent
Name | Type | Description |
---|---|---|
cacheParent | PIXI.Container |
Actual parent of element |
Type | Description |
---|---|
void |
dispatchEvent(e: Event) → {boolean}
Dispatch the event on this PIXI.DisplayObject using the event's PIXI.EventBoundary.
The target of the event is set to this
and the defaultPrevented
flag is cleared before dispatch.
IMPORTANT: Only available if using the @pixi/events
package.
// Reuse a click event!
button.dispatchEvent(clickEvent);
Name | Type | Description |
---|---|---|
e | Event |
The event to dispatch. |
Type | Description |
---|---|
boolean |
Whether the preventDefault() method was not invoked. |
displayObjectUpdateTransform() → {}
DisplayObject default updateTransform, does not update children of container. Will crash if there's no parent element.
enableTempParent() → {PIXI.Container}
Used in Renderer, cacheAsBitmap and other places where you call an updateTransform
on root
const cacheParent = elem.enableTempParent();
elem.updateTransform();
elem.disableTempParent(cacheParent);
Type | Description |
---|---|
PIXI.Container |
|
getBounds(skipUpdate: boolean, rect: PIXI.Rectangle) → {PIXI.Rectangle}
Calculates and returns the (world) bounds of the display object as a 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 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.
Name | Type | Attributes | Description |
---|---|---|---|
skipUpdate | boolean |
<optional> |
Setting to |
rect | PIXI.Rectangle |
<optional> |
Optional rectangle to store the result of the bounds calculation. |
Type | Description |
---|---|
PIXI.Rectangle |
|
getGlobalPosition(point: PIXI.Point, skipUpdate: boolean) → {PIXI.Point}
Returns the global position of the displayObject. Does not depend on object scale, rotation and pivot.
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
point | PIXI.Point |
<optional> |
new PIXI.Point() |
The point to write the global value to. |
skipUpdate | boolean |
<optional> |
false |
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. |
Type | Description |
---|---|
PIXI.Point |
The updated point. |
getLocalBounds(rect: PIXI.Rectangle) → {PIXI.Rectangle}
Retrieves the local bounds of the displayObject as a rectangle object.
Name | Type | Attributes | Description |
---|---|---|---|
rect | PIXI.Rectangle |
<optional> |
Optional rectangle to store the result of the bounds calculation. |
Type | Description |
---|---|
PIXI.Rectangle |
|
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) → {}
Unlike off
or removeListener
which are methods from EventEmitter, removeEventListener
seeks to be compatible with the DOM's removeEventListener
with support for options.
IMPORTANT: Only available if using the @pixi/events
package.
Name | Type | Attributes | Description |
---|---|---|---|
type | string |
The type of event the listener is bound to. |
|
listener | EventListenerOrEventListenerObject |
The listener callback or object. |
|
options | boolean | AddEventListenerOptions |
<optional> |
The original listener options. This is required to deregister a capture phase listener. |
render(renderer: PIXI.Renderer) → {void}
Renders the object using the WebGL renderer.
Name | Type | Description |
---|---|---|
renderer | PIXI.Renderer |
The renderer. |
Type | Description |
---|---|
void |
setParent(container: PIXI.Container) → {PIXI.Container}
Set the parent Container of this DisplayObject.
Name | Type | Description |
---|---|---|
container | PIXI.Container |
The Container to add this DisplayObject to. |
Type | Description |
---|---|
PIXI.Container |
|
setTransform(x: number, y: number, scaleX: number, scaleY: number, rotation: number, skewX: number, skewY: number, pivotX: number, pivotY: number) → {this}
Convenience function to set the position, scale, skew and pivot at once.
Name | Type | Default | Description |
---|---|---|---|
x | number | 0 |
The X position |
y | number | 0 |
The Y position |
scaleX | number | 1 |
The X scale value |
scaleY | number | 1 |
The Y scale value |
rotation | number | 0 |
The rotation |
skewX | number | 0 |
The X skew value |
skewY | number | 0 |
The Y skew value |
pivotX | number | 0 |
The X pivot value |
pivotY | number | 0 |
The Y pivot value |
Type | Description |
---|---|
this |
|
toGlobal(position: IPointData, point: P, skipUpdate: boolean) → {P}
Calculates the global position of the display object.
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
position | IPointData |
The world origin to calculate from. |
||
point | P |
<optional> |
A Point object in which to store the value, optional (otherwise will create a new Point). |
|
skipUpdate | boolean | false |
Should we skip the update transform. |
Type | Description |
---|---|
P |
|
toLocal(position: IPointData, from: PIXI.DisplayObject, point: P, skipUpdate: boolean) → {P}
Calculates the local position of the display object relative to another point.
Name | Type | Attributes | Description |
---|---|---|---|
position | IPointData |
The world origin to calculate from. |
|
from | PIXI.DisplayObject |
<optional> |
The DisplayObject to calculate the global position from. |
point | P |
<optional> |
A Point object in which to store the value, optional (otherwise will create a new Point). |
skipUpdate | boolean |
<optional> |
Should we skip the update transform |
Type | Description |
---|---|
P |
|
updateSmartMask(recursive: boolean, skipUpdate: boolean) → {PIXI.Rectangle}
Update the mask of the display-object based on whether its unmasked bounds are not a subset of the smart-mask's bounds or are.
NOTE: Setting the smart-mask to null will not remove the mask on the display-object, if it has already been enabled.
Name | Type | Default | Description |
---|---|---|---|
recursive | boolean | true |
whether to update the smart-masks of the children as well. Traversing the scene graph on your own is less optimized due to bounds recalculations. |
skipUpdate | boolean | true |
whether to not recalculate the transforms of each display-object. This is false by default because it is expected you will do this on your own. |
Type | Description |
---|---|
PIXI.Rectangle |
updateTransform() → {void}
Updates the object transform for rendering. TODO - Optimization pass!
Type | Description |
---|---|
void |
Protected Methods
protected _recursivePostUpdateTransform() → {void}
Recursively updates transform of all objects from the root to this one internal function for toLocal()
Type | Description |
---|---|
void |
Events
Fired when this DisplayObject is added to a Container.
Name | Type | Description |
---|---|---|
container | PIXI.Container |
The container added to. |
Fired when a DisplayObject is removed from this Container.
Name | Type | Description |
---|---|---|
child | PIXI.DisplayObject |
The child removed from the Container. |
container | PIXI.Container |
The container that removed the child. |
index | number |
The former children's index of the removed child |
Fired when a pointer device button (usually a mouse left-button) is pressed and released on
the display object. DisplayObject's interactive
property must be set to true
to fire event.
A click
event fires after the pointerdown
and pointerup
events, in that
order. If the mouse is moved over another DisplayObject after the pointerdown
event, the
click
event is fired on the most specific common ancestor of the two target DisplayObjects.
The detail
property of the event is the number of clicks that occurred within a 200ms
window of each other upto the current click. For example, it will be 2
for a double click.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button (usually a mouse left-button) is pressed and released on
the display object. DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of click
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when this DisplayObject is destroyed. This event is emitted once destroy is finished.
Fired when a mouse button (usually a mouse left-button) is pressed on the display.
object. DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
The mousedown event. |
Fired when a pointer device button (usually a mouse left-button) is pressed on the display.
object. DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of mousedown
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
The capture phase mousedown. |
Fired when the mouse pointer is moved over a DisplayObject and its descendant's hit testing boundaries.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Capture phase equivalent of mouseenter
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when the mouse pointer exits a DisplayObject and its descendants.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Capture phase equivalent of mouseleave
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device (usually a mouse) is moved while over the display object.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device (usually a mouse) is moved while over the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of mousemove
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device (usually a mouse) is moved off the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This may be fired on a DisplayObject that was removed from the scene graph immediately after
a mouseover
event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device (usually a mouse) is moved off the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of mouseout
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device (usually a mouse) is moved onto the display object.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device (usually a mouse) is moved onto the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of mouseover
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button (usually a mouse left-button) is released over the display
object. DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button (usually a mouse left-button) is released over the display
object. DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of mouseup
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button (usually a mouse left-button) is released outside the
display object that initially registered a
mousedown.
DisplayObject's interactive
property must be set to true
to fire event.
This event is specific to the Federated Events API. It does not have a capture phase, unlike most of the
other events. It only bubbles to the most specific ancestor of the targets of the corresponding pointerdown
and pointerup
events, i.e. the target of the click
event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button (usually a mouse left-button) is released outside the
display object that initially registered a
mousedown.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of mouseupoutside
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when the operating system cancels a pointer event.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when the operating system cancels a pointer event.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of pointercancel
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button is pressed on the display object.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button is pressed on the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of pointerdown
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when the pointer is moved over a DisplayObject and its descendant's hit testing boundaries.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Capture phase equivalent of pointerenter
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when the pointer leaves the hit testing boundaries of a DisplayObject and its descendants.
This event notifies only the target and does not bubble.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
The |
Capture phase equivalent of pointerleave
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device is moved while over the display object.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device is moved while over the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of pointermove
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device is moved off the display object.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device is moved off the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of pointerout
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device is moved onto the display object.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device is moved onto the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of pointerover
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button is pressed and released on the display object.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button is pressed and released on the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of pointertap
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button is released over the display object.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button is released over the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of pointerup
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button is released outside the display object that initially
registered a pointerdown.
DisplayObject's interactive
property must be set to true
to fire event.
This event is specific to the Federated Events API. It does not have a capture phase, unlike most of the
other events. It only bubbles to the most specific ancestor of the targets of the corresponding pointerdown
and pointerup
events, i.e. the target of the click
event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device button is released outside the display object that initially
registered a pointerdown.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of pointerupoutside
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when this DisplayObject is removed from a Container.
Name | Type | Description |
---|---|---|
container | PIXI.Container |
The container removed from. |
Fired when a pointer device secondary button (usually a mouse right-button) is pressed
and released on the display object. DisplayObject's interactive
property must be set to true
to fire event.
This event follows the semantics of click
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device secondary button (usually a mouse right-button) is pressed
and released on the display object. DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of rightclick
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device secondary button (usually a mouse right-button) is pressed
on the display object. DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device secondary button (usually a mouse right-button) is pressed
on the display object. DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of rightdown
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
The rightdowncapture event. |
Fired when a pointer device secondary button (usually a mouse right-button) is released
over the display object. DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device secondary button (usually a mouse right-button) is released
over the display object. DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of rightup
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device secondary button (usually a mouse right-button) is released
outside the display object that initially registered a
rightdown.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a pointer device secondary button (usually a mouse right-button) is released
outside the display object that initially registered a
rightdown.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of rightupoutside
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a touch point is placed and removed from the display object.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a touch point is placed and removed from the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of tap
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when the operating system cancels a touch.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when the operating system cancels a touch.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of touchcancel
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a touch point is removed from the display object.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a touch point is removed from the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of touchend
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a touch point is removed outside of the display object that initially
registered a touchstart.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a touch point is removed outside of the display object that initially
registered a touchstart.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of touchendoutside
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a touch point is moved along the display object.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a touch point is moved along the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of touchmove
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a touch point is placed on the display object.
DisplayObject's interactive
property must be set to true
to fire event.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
Fired when a touch point is placed on the display object.
DisplayObject's interactive
property must be set to true
to fire event.
This comes from the @pixi/interaction package.
Name | Type | Description |
---|---|---|
event | PIXI.InteractionEvent |
Interaction event |
Capture phase equivalent of touchstart
.
These events are propagating from the EventSystem in @pixi/events.
Name | Type | Description |
---|---|---|
event | PIXI.FederatedPointerEvent |
Event |
wheel
Fired when a the user scrolls with the mouse cursor over a DisplayObject.
These events are propagating from the EventSystem in @pixi/events.
wheelcapture
Capture phase equivalent of wheel
.
These events are propagating from the EventSystem in @pixi/events.