Options
All
  • Public
  • Public/Protected
  • All
Menu

Represents a sprite in 3D space.

Hierarchy

Index

Constructors

constructor

  • new Sprite3D(texture?: Texture<Resource>): Sprite3D

Properties

_bounds

_bounds: Bounds

The bounds object, this is used to calculate and store the bounds of the displayObject.

Protected _boundsID

_boundsID: number

Flags the cached bounds as dirty.

Protected _boundsRect

_boundsRect: Rectangle

Cache of this display-object's bounds-rectangle.

Protected _destroyed

_destroyed: boolean

If the object has been destroyed via destroy(). If true, it should not be used.

Protected _enabledFilters

_enabledFilters: Filter[]

Currently enabled filters.

Protected _height

_height: number

Protected _lastSortedIndex

_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.

_localBounds

_localBounds: Bounds

Local bounds object, swapped with _bounds when using getLocalBounds().

Protected _localBoundsRect

_localBoundsRect: Rectangle

Cache of this display-object's local-bounds rectangle.

Protected _mask

_mask: Container<DisplayObject> | MaskData

The original, cached mask of the object.

_trackedPointers

_trackedPointers: {}

Type declaration

  • [x: number]: InteractionTrackingData

Protected _width

_width: number

Protected _zIndex

_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.

alpha

alpha: number

The opacity of the object.

buttonMode

buttonMode: boolean

Optional camera

camera?: Camera

The camera used when rendering the sprite. Uses main camera by default.

Readonly children

children: DisplayObject[]

The array of children of this container.

readonly

containerUpdateTransform

containerUpdateTransform: () => void

Type declaration

    • (): void
    • Returns void

cullArea

cullArea: 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.

cullable

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.

cursor

cursor: string

displayObjectUpdateTransform

displayObjectUpdateTransform: () => void

Type declaration

    • (): void
    • Returns void

filterArea

filterArea: 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

filters: null | Filter[]

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

hitArea: null | IHitArea

interactive

interactive: boolean

interactiveChildren

interactiveChildren: boolean

isMask

isMask: boolean

Does any other displayObject use this object as a mask?

isSprite

isSprite: boolean

Used to fast check if a sprite is.. a sprite!

name

name: string

parent

parent: Container<DisplayObject>

renderable

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.

sortDirty

sortDirty: boolean

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.

sortableChildren

sortableChildren: boolean

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.

see

PIXI.settings.SORTABLE_CHILDREN

trackedPointers

trackedPointers: {}

Type declaration

  • [x: number]: InteractionTrackingData

transform

transform: Transform3D = ...

visible

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.

worldAlpha

worldAlpha: number

The multiplied alpha of the displayObject.

readonly

Static prefixed

prefixed: string | boolean

Accessors

Protected _tempDisplayObjectParent

  • get _tempDisplayObjectParent(): TemporaryDisplayObject
  • member

    {PIXI.Container}

    Returns TemporaryDisplayObject

anchor

  • get anchor(): ObservablePoint<any>
  • set anchor(value: ObservablePoint<any>): void
  • The anchor sets the origin point of the sprite.

    Returns ObservablePoint<any>

  • The anchor sets the origin point of the sprite.

    Parameters

    • value: ObservablePoint<any>

    Returns void

angle

  • get angle(): number
  • set angle(value: number): void
  • 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.

    Returns 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.

    Parameters

    • value: number

    Returns void

billboardType

blendMode

  • get blendMode(): BLEND_MODES
  • set blendMode(value: BLEND_MODES): void

destroyed

  • get destroyed(): boolean
  • Readonly flag for destroyed display objects.

    Returns boolean

height

  • get height(): number
  • set height(value: number): void
  • The height of the Container, setting this will actually modify the scale to achieve the value set.

    Returns number

  • The height of the Container, setting this will actually modify the scale to achieve the value set.

    Parameters

    • value: number

    Returns void

localTransform

mask

  • get mask(): null | Container<DisplayObject> | MaskData
  • set mask(value: null | Container<DisplayObject> | MaskData): void
  • 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.

    example

    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;

    todo

    At the moment, PIXI.CanvasRenderer doesn't support PIXI.Sprite as mask.

    Returns null | Container<DisplayObject> | MaskData

  • 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.

    example

    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;

    todo

    At the moment, PIXI.CanvasRenderer doesn't support PIXI.Sprite as mask.

    Parameters

    • value: null | Container<DisplayObject> | MaskData

    Returns void

pivot

  • get pivot(): ObservablePoint<any>
  • set pivot(value: IPointData): void
  • 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).

    since

    4.0.0

    Returns ObservablePoint<any>

  • 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).

    since

    4.0.0

    Parameters

    • value: IPointData

    Returns void

pixelsPerUnit

  • get pixelsPerUnit(): number
  • set pixelsPerUnit(value: number): void
  • Defines the size of the sprite relative to a unit in world space.

    Returns number

  • Defines the size of the sprite relative to a unit in world space.

    Parameters

    • value: number

    Returns void

position

rotation

  • get rotation(): number
  • set rotation(value: number): void
  • 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.

    Returns 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.

    Parameters

    • value: number

    Returns void

rotationQuaternion

scale

skew

  • get skew(): ObservablePoint<any>
  • set skew(value: IPointData): void
  • The skew factor for the object in radians.

    since

    4.0.0

    Returns ObservablePoint<any>

  • The skew factor for the object in radians.

    since

    4.0.0

    Parameters

    • value: IPointData

    Returns void

texture

  • get texture(): Texture<Resource>
  • set texture(value: Texture<Resource>): void

tint

  • get tint(): number
  • set tint(value: number): void
  • The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect.

    Returns number

  • The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect.

    Parameters

    • value: number

    Returns void

width

  • get width(): number
  • set width(value: number): void
  • The width of the Container, setting this will actually modify the scale to achieve the value set.

    Returns number

  • The width of the Container, setting this will actually modify the scale to achieve the value set.

    Parameters

    • value: number

    Returns void

worldTransform

worldVisible

  • get worldVisible(): boolean
  • Indicates if the object is globally visible.

    readonly

    Returns boolean

x

  • get x(): number
  • set x(value: number): void
  • The position of the displayObject on the x axis relative to the local coordinates of the parent. An alias to position.x

    Returns number

  • The position of the displayObject on the x axis relative to the local coordinates of the parent. An alias to position.x

    Parameters

    • value: number

    Returns void

y

  • get y(): number
  • set y(value: number): void
  • The position of the displayObject on the y axis relative to the local coordinates of the parent. An alias to position.y

    Returns number

  • The position of the displayObject on the y axis relative to the local coordinates of the parent. An alias to position.y

    Parameters

    • value: number

    Returns void

z

  • get z(): number
  • set z(value: number): void
  • The position of the object on the z axis relative to the local coordinates of the parent.

    Returns number

  • The position of the object on the z axis relative to the local coordinates of the parent.

    Parameters

    • value: number

    Returns void

zIndex

  • get zIndex(): number
  • set zIndex(value: number): void
  • 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.

    see

    PIXI.Container#sortableChildren

    Returns 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.

    see

    PIXI.Container#sortableChildren

    Parameters

    • value: number

    Returns void

Methods

Protected _calculateBounds

  • _calculateBounds(): void
  • Recalculates the content bounds of this object. This should be overriden to calculate the bounds of this specific object (not including children).

    Returns void

Protected _recursivePostUpdateTransform

  • _recursivePostUpdateTransform(): void
  • Recursively updates transform of all objects from the root to this one internal function for toLocal()

    Returns void

_render

  • _render(renderer: Renderer): void

Protected _renderWithCulling

  • _renderWithCulling(renderer: Renderer): void
  • Renders this object and its children with culling.

    Parameters

    • renderer: Renderer

      The renderer

    Returns void

addChild

  • addChild<U>(...children: U): U[0]
  • Adds one or more children to the container.

    Multiple items can be added like so: myContainer.addChild(thingOne, thingTwo, thingThree)

    Type parameters

    • U: DisplayObject[]

    Parameters

    • Rest ...children: U

      The DisplayObject(s) to add to the container

    Returns U[0]

    • The first child that was added.

addChildAt

  • addChildAt<U>(child: U, index: number): U
  • Adds a child to the container at a specified index. If the index is out of bounds an error will be thrown

    Type parameters

    • U: DisplayObject<U>

    Parameters

    • child: U

      The child to add

    • index: number

      The index to place the child in

    Returns U

    The child that was added.

addListener

  • addListener(event: string | symbol, fn: ListenerFn, context?: any): Sprite3D
  • Parameters

    • event: string | symbol
    • fn: ListenerFn
    • Optional context: any

    Returns Sprite3D

calculateBounds

  • calculateBounds(): void
  • 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.

    Returns void

destroy

  • destroy(options?: boolean | IDestroyOptions): void

disableTempParent

  • disableTempParent(cacheParent: Container<DisplayObject>): void
  • Pair method for enableTempParent

    Parameters

    • cacheParent: Container<DisplayObject>

      Actual parent of element

    Returns void

emit

  • emit(event: string | symbol, ...args: any[]): boolean
  • Calls each of the listeners registered for a given event.

    Parameters

    • event: string | symbol
    • Rest ...args: any[]

    Returns boolean

enableTempParent

  • enableTempParent(): Container<DisplayObject>
  • Used in Renderer, cacheAsBitmap and other places where you call an updateTransform on root

    const cacheParent = elem.enableTempParent();
    elem.updateTransform();
    elem.disableTempParent(cacheParent);

    Returns Container<DisplayObject>

    • current parent

eventNames

  • eventNames(): (string | symbol)[]
  • Return an array listing the events for which the emitter has registered listeners.

    Returns (string | symbol)[]

getBounds

  • getBounds(skipUpdate?: boolean, rect?: Rectangle): Rectangle
  • 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.

    Parameters

    • Optional skipUpdate: boolean

      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 rect: Rectangle

      Optional rectangle to store the result of the bounds calculation.

    Returns Rectangle

    • The minimum axis-aligned rectangle in world space that fits around this object.

getChildAt

  • getChildAt(index: number): DisplayObject
  • Returns the child at the specified index

    Parameters

    • index: number

      The index to get the child at

    Returns DisplayObject

    • The child at the given index, if any.

getChildByName

  • getChildByName<T>(name: string, deep?: boolean): T
  • Type parameters

    • T: DisplayObject<T> = DisplayObject

    Parameters

    • name: string
    • Optional deep: boolean

    Returns T

getChildIndex

  • getChildIndex(child: DisplayObject): number
  • Returns the index position of a child DisplayObject instance

    Parameters

    • child: DisplayObject

      The DisplayObject instance to identify

    Returns number

    • The index position of the child display object to identify

getLocalBounds

  • getLocalBounds(rect?: Rectangle, skipChildrenUpdate?: boolean): Rectangle
  • 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.

    Parameters

    • Optional rect: Rectangle

      Optional rectangle to store the result of the bounds calculation.

    • Optional skipChildrenUpdate: boolean

      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 Rectangle

    • The rectangular bounding area.

listenerCount

  • listenerCount(event: string | symbol): number
  • Return the number of listeners listening to a given event.

    Parameters

    • event: string | symbol

    Returns number

listeners

  • listeners(event: string | symbol): ListenerFn[]
  • Return the listeners registered for a given event.

    Parameters

    • event: string | symbol

    Returns ListenerFn[]

off

  • off(event: string | symbol, fn?: ListenerFn, context?: any, once?: boolean): Sprite3D
  • Parameters

    • event: string | symbol
    • Optional fn: ListenerFn
    • Optional context: any
    • Optional once: boolean

    Returns Sprite3D

on

  • on(event: string | symbol, fn: ListenerFn, context?: any): Sprite3D
  • Add a listener for a given event.

    Parameters

    • event: string | symbol
    • fn: ListenerFn
    • Optional context: any

    Returns Sprite3D

Protected onChildrenChange

  • onChildrenChange(_length?: number): void
  • Overridable method that can be used by Container subclasses whenever the children array is modified.

    Parameters

    • Optional _length: number

    Returns void

once

  • once(event: string | symbol, fn: ListenerFn, context?: any): Sprite3D
  • Add a one-time listener for a given event.

    Parameters

    • event: string | symbol
    • fn: ListenerFn
    • Optional context: any

    Returns Sprite3D

removeAllListeners

  • removeAllListeners(event?: string | symbol): Sprite3D
  • Remove all listeners, or those of the specified event.

    Parameters

    • Optional event: string | symbol

    Returns Sprite3D

removeChild

  • removeChild<U>(...children: U): U[0]
  • Removes one or more children from the container.

    Type parameters

    • U: DisplayObject[]

    Parameters

    • Rest ...children: U

      The DisplayObject(s) to remove

    Returns U[0]

    The first child that was removed.

removeChildAt

  • removeChildAt(index: number): DisplayObject
  • Removes a child from the specified index position.

    Parameters

    • index: number

      The index to get the child from

    Returns DisplayObject

    The child that was removed.

removeChildren

  • removeChildren(beginIndex?: number, endIndex?: number): DisplayObject[]
  • Removes all children from this container that are within the begin and end indexes.

    Parameters

    • Optional beginIndex: number

      The beginning position.

    • Optional endIndex: number

      The ending position. Default value is size of the container.

    Returns DisplayObject[]

    • List of removed children

removeListener

  • removeListener(event: string | symbol, fn?: ListenerFn, context?: any, once?: boolean): Sprite3D
  • Remove the listeners of a given event.

    Parameters

    • event: string | symbol
    • Optional fn: ListenerFn
    • Optional context: any
    • Optional once: boolean

    Returns Sprite3D

render

  • render(renderer: Renderer): void
  • 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.

    Parameters

    • renderer: Renderer

      The renderer

    Returns void

Protected renderAdvanced

  • renderAdvanced(renderer: Renderer): void
  • Render the object using the WebGL renderer and advanced features.

    Parameters

    • renderer: Renderer

      The renderer

    Returns void

setChildIndex

  • setChildIndex(child: DisplayObject, index: number): void
  • Changes the position of an existing child in the display object container

    Parameters

    • child: DisplayObject

      The child DisplayObject instance for which you want to change the index number

    • index: number

      The resulting index number for the child display object

    Returns void

setParent

  • setParent(container: Container<DisplayObject>): Container<DisplayObject>
  • Set the parent Container of this DisplayObject.

    Parameters

    • container: Container<DisplayObject>

      The Container to add this DisplayObject to.

    Returns Container<DisplayObject>

    • The Container that this DisplayObject was added to.

setTransform

  • setTransform(x?: number, y?: number, scaleX?: number, scaleY?: number, rotation?: number, skewX?: number, skewY?: number, pivotX?: number, pivotY?: number): Sprite3D
  • Convenience function to set the position, scale, skew and pivot at once.

    Parameters

    • Optional x: number

      The X position

    • Optional y: number

      The Y position

    • Optional scaleX: number

      The X scale value

    • Optional scaleY: number

      The Y scale value

    • Optional rotation: number

      The rotation

    • Optional skewX: number

      The X skew value

    • Optional skewY: number

      The Y skew value

    • Optional pivotX: number

      The X pivot value

    • Optional pivotY: number

      The Y pivot value

    Returns Sprite3D

    • The DisplayObject instance

sortChildren

  • sortChildren(): void
  • Sorts children by zIndex. Previous order is maintained for 2 children with the same zIndex.

    Returns void

swapChildren

  • swapChildren(child: DisplayObject, child2: DisplayObject): void
  • Swaps the position of 2 Display Objects within this container.

    Parameters

    • child: DisplayObject

      First display object to swap

    • child2: DisplayObject

      Second display object to swap

    Returns void

toGlobal

  • toGlobal<P>(position: IPointData, point?: P, skipUpdate?: boolean): P
  • Calculates the global position of the display object.

    Type parameters

    • P: IPointData = Point

    Parameters

    • position: IPointData

      The world origin to calculate from.

    • Optional point: P

      A Point object in which to store the value, optional (otherwise will create a new Point).

    • Optional skipUpdate: boolean

      Should we skip the update transform.

    Returns P

    • A point object representing the position of this object.

toLocal

  • toLocal<P>(position: IPointData, from?: DisplayObject, point?: P, skipUpdate?: boolean): P
  • Calculates the local position of the display object relative to another point.

    Type parameters

    • P: IPointData = Point

    Parameters

    • position: IPointData

      The world origin to calculate from.

    • Optional from: DisplayObject

      The DisplayObject to calculate the global position from.

    • Optional point: P

      A Point object in which to store the value, optional (otherwise will create a new Point).

    • Optional skipUpdate: boolean

      Should we skip the update transform

    Returns P

    • A point object representing the position of this object

updateTransform

  • updateTransform(): void
  • Updates the transform on all children of this container for rendering.

    Returns void

Static mixin

  • mixin(source: Dict<any>): void
  • Mixes all enumerable properties and methods from a source object to DisplayObject.

    Parameters

    • source: Dict<any>

      The source of properties and methods to mix in.

    Returns void

Generated using TypeDoc