Options
All
  • Public
  • Public/Protected
  • All
Menu

The Sprite object is the base for all textured objects that are rendered to the screen

A sprite can be created directly from an image like this:

let sprite = PIXI.Sprite.from('assets/image.png');

The more efficient way to create sprites is using a PIXI.Spritesheet, as swapping base textures when rendering to the screen is inefficient.

PIXI.Loader.shared.add("assets/spritesheet.json").load(setup);

function setup() {
  let sheet = PIXI.Loader.shared.resources["assets/spritesheet.json"].spritesheet;
  let sprite = new PIXI.Sprite(sheet.textures["image.png"]);
  ...
}
memberof

PIXI

Hierarchy

Index

Constructors

Properties

Accessors

Methods

Constructors

constructor

Properties

Optional _accessibleActive

_accessibleActive: boolean

Optional _accessibleDiv

_accessibleDiv: IAccessibleHTMLElement

Protected _anchor

_anchor: ObservablePoint<any>

_bounds

_bounds: Bounds

Protected _boundsID

_boundsID: number

Protected _boundsRect

_boundsRect: Rectangle

_cacheAsBitmap

_cacheAsBitmap: boolean

_cacheAsBitmapResolution

_cacheAsBitmapResolution: number

_cacheData

_cacheData: CacheData

_cachedTint

_cachedTint: number

Protected _destroyed

_destroyed: boolean

Protected _enabledFilters

_enabledFilters: Filter[]

_height

_height: number

_lastSortedIndex

_lastSortedIndex: number

_localBounds

_localBounds: Bounds

Protected _localBoundsRect

_localBoundsRect: Rectangle

_mask

Private _onAnchorUpdate

_onAnchorUpdate: any

Called when the anchor position updates.

Private _roundPixels

_roundPixels: any

_texture

_texture: Texture<Resource>

_textureID

_textureID: number

Protected _textureTrimmedID

_textureTrimmedID: number

Private _tint

_tint: any

_tintRGB

_tintRGB: number

Optional _trackedPointers

_trackedPointers: {}

Type declaration

Private _transformID

_transformID: any

Private _transformTrimmedID

_transformTrimmedID: any

_width

_width: number

Protected _zIndex

_zIndex: number

Optional accessible

accessible: boolean

Optional accessibleChildren

accessibleChildren: true

Optional accessibleHint

accessibleHint: string

Optional accessiblePointerEvents

accessiblePointerEvents: PointerEvents

Optional accessibleTitle

accessibleTitle: string

Optional accessibleType

accessibleType: string

alpha

alpha: number

blendMode

blendMode: BLEND_MODES

Optional buttonMode

buttonMode: boolean

cacheAsBitmap

cacheAsBitmap: boolean

cacheAsBitmapResolution

cacheAsBitmapResolution: number

Readonly children

children: DisplayObject[]

containerUpdateTransform

containerUpdateTransform: () => void

Type declaration

    • (): void
    • Returns void

Optional cursor

cursor: string

displayObjectUpdateTransform

displayObjectUpdateTransform: () => void

Type declaration

    • (): void
    • Returns void

filterArea

filterArea: Rectangle

filters

filters: Filter[]

Optional hitArea

hitArea: IHitArea

indices

indices: Uint16Array

Optional interactive

interactive: boolean

Optional interactiveChildren

interactiveChildren: boolean

isMask

isMask: boolean

isSprite

isSprite: boolean

name

name: string

parent

parent: Container

pluginName

pluginName: string

Optional renderId

renderId: number

renderable

renderable: boolean

sortDirty

sortDirty: boolean

sortableChildren

sortableChildren: boolean

Optional tabIndex

tabIndex: number

Optional trackedPointers

trackedPointers: {}

Type declaration

transform

transform: Transform

Protected uvs

uvs: Float32Array

Protected vertexData

vertexData: Float32Array

Private vertexTrimmedData

vertexTrimmedData: any

visible

visible: boolean

worldAlpha

worldAlpha: number

Static prefixed

prefixed: string | boolean

Accessors

Protected _tempDisplayObjectParent

  • member

    {PIXI.Container}

    Returns TemporaryDisplayObject

anchor

  • The anchor sets the origin point of the sprite. The default value is taken from the Texture and passed to the constructor.

    The default is (0,0), this means the sprite's origin is the top left.

    Setting the anchor to (0.5,0.5) means the sprite's origin is centered.

    Setting the anchor to (1,1) would mean the sprite's origin point will be the bottom right corner.

    If you pass only single parameter, it will set both x and y to the same value as shown in the example below.

    example

    const sprite = new PIXI.Sprite(texture); sprite.anchor.set(0.5); // This will set the origin to center. (0.5) is same as (0.5, 0.5).

    member

    {PIXI.ObservablePoint}

    Returns ObservablePoint<any>

  • The anchor sets the origin point of the sprite. The default value is taken from the Texture and passed to the constructor.

    The default is (0,0), this means the sprite's origin is the top left.

    Setting the anchor to (0.5,0.5) means the sprite's origin is centered.

    Setting the anchor to (1,1) would mean the sprite's origin point will be the bottom right corner.

    If you pass only single parameter, it will set both x and y to the same value as shown in the example below.

    Parameters

    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.

    member

    {number}

    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

height

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

    member

    {number}

    Returns number

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

    Parameters

    • value: number

    Returns void

localTransform

  • get localTransform(): Matrix
  • Current transform of the object based on local factors: position, scale, other stuff.

    member

    {PIXI.Matrix}

    readonly

    Returns Matrix

mask

  • Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. In PixiJS a regular mask must be a PIXI.Graphics or a PIXI.Sprite object. This allows for much faster masking in canvas as it utilities shape clipping. 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.

    member

    {PIXI.Container|PIXI.MaskData|null}

    Returns null | Container | 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 PIXI.Graphics or a PIXI.Sprite object. This allows for much faster masking in canvas as it utilities shape clipping. 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.

    Parameters

    Returns void

pivot

  • 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

    PixiJS 4

    member

    {PIXI.ObservablePoint}

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

    Parameters

    Returns void

position

  • The coordinate of the object relative to the local coordinates of the parent.

    since

    PixiJS 4

    member

    {PIXI.ObservablePoint}

    Returns ObservablePoint<any>

  • The coordinate of the object relative to the local coordinates of the parent.

    Parameters

    Returns void

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.

    member

    {number}

    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

roundPixels

  • get roundPixels(): boolean
  • set roundPixels(value: boolean): void
  • 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 {@link PIXI.settings.ROUND_PIXELS}

    Returns boolean

  • 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 {@link PIXI.settings.ROUND_PIXELS}

    member

    {boolean}

    default

    false

    Parameters

    • value: boolean

    Returns void

scale

  • The scale factors of this object along the local coordinate axes.

    The default scale is (1, 1).

    since

    PixiJS 4

    member

    {PIXI.ObservablePoint}

    Returns ObservablePoint<any>

  • The scale factors of this object along the local coordinate axes.

    The default scale is (1, 1).

    Parameters

    Returns void

skew

  • The skew factor for the object in radians.

    since

    PixiJS 4

    member

    {PIXI.ObservablePoint}

    Returns ObservablePoint<any>

  • The skew factor for the object in radians.

    Parameters

    Returns void

texture

  • The texture that the sprite is using

    member

    {PIXI.Texture}

    Returns Texture<Resource>

  • The texture that the sprite is using

    Parameters

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

    member

    {number}

    default

    0xFFFFFF

    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 sprite, setting this will actually modify the scale to achieve the value set

    member

    {number}

    Returns number

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

    Parameters

    • value: number

    Returns void

worldTransform

  • get worldTransform(): Matrix
  • Current transform of the object based on world (parent) factors.

    member

    {PIXI.Matrix}

    readonly

    Returns Matrix

worldVisible

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

    member

    {boolean}

    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

    member

    {number}

    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

    member

    {number}

    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

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.

    member

    {number}

    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.

    Parameters

    • value: number

    Returns void

Methods

_cacheAsBitmapDestroy

Protected _calculateBounds

  • _calculateBounds(): void
  • Updates the bounds of the sprite.

    Returns void

_calculateCachedBounds

  • _calculateCachedBounds(): void

_destroyCachedDisplayObject

  • _destroyCachedDisplayObject(): void

_getCachedLocalBounds

_initCachedDisplayObject

  • _initCachedDisplayObject(renderer: Renderer): void

_initCachedDisplayObjectCanvas

  • _initCachedDisplayObjectCanvas(renderer: CanvasRenderer): void

Protected _onTextureUpdate

  • _onTextureUpdate(): void
  • When the texture is updated, this event will fire to update the scale and frame

    Returns void

Protected _recursivePostUpdateTransform

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

    Returns void

Protected _render

  • Renders the object using the WebGL renderer

    Parameters

    • renderer: Renderer

      The webgl renderer to use.

    Returns void

_renderCached

  • _renderCached(renderer: Renderer): void
  • Parameters

    Returns void

_renderCachedCanvas

  • _renderCachedCanvas(renderer: CanvasRenderer): void
  • Parameters

    • renderer: CanvasRenderer

    Returns void

addChild

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

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

    Type parameters

    Parameters

    • Rest ...children: T

      The DisplayObject(s) to add to the container

    Returns T[0]

    The first child that was added.

addChildAt

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

    Type parameters

    Parameters

    • child: T

      The child to add

    • index: number

      The index to place the child in

    Returns T

    The child that was added.

addListener

  • Parameters

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

    Returns Sprite

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

calculateTrimmedVertices

  • calculateTrimmedVertices(): void
  • calculates worldTransform * vertices for a non texture with a trim. store it in vertexTrimmedData This is used to ensure that the true width and height of a trimmed texture is respected

    Returns void

calculateVertices

  • calculateVertices(): void
  • calculates worldTransform * vertices, store it in vertexData

    Returns void

containsPoint

  • Tests if a point is inside this sprite

    Parameters

    Returns boolean

    the result of the test

destroy

  • Destroys this sprite and optionally its texture and children

    Parameters

    Returns void

disableTempParent

  • Pair method for enableTempParent

    Parameters

    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

  • Used in Renderer, cacheAsBitmap and other places where you call an updateTransform on root

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

    Returns DisplayObject

    current parent

eventNames

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

    Returns (string | symbol)[]

getBounds

  • 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]{@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
    • Optional rect: Rectangle

    Returns Rectangle

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

getChildAt

  • 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(name: string, isRecursive?: boolean): DisplayObject
  • Parameters

    • name: string
    • Optional isRecursive: boolean

    Returns DisplayObject

getChildIndex

  • Returns the index position of a child DisplayObject instance

    Parameters

    Returns number

    The index position of the child display object to identify

getGlobalPosition

  • getGlobalPosition(point?: Point, skipUpdate?: boolean): Point
  • Parameters

    • Optional point: Point
    • Optional skipUpdate: boolean

    Returns Point

getLocalBounds

  • Gets the local bounds of the sprite object.

    Parameters

    Returns Rectangle

    The bounds.

listenerCount

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

    Parameters

    • event: string | symbol

    Returns number

listeners

  • 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): Sprite
  • Parameters

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

    Returns Sprite

on

  • Add a listener for a given event.

    Parameters

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

    Returns Sprite

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

  • Add a one-time listener for a given event.

    Parameters

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

    Returns Sprite

removeAllListeners

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

    Parameters

    • Optional event: string | symbol

    Returns Sprite

removeChild

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

    Type parameters

    Parameters

    • Rest ...children: T

      The DisplayObject(s) to remove

    Returns T[0]

    The first child that was removed.

removeChildAt

  • 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
    • Optional endIndex: number

    Returns DisplayObject[]

    List of removed children

removeListener

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

    Parameters

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

    Returns Sprite

render

  • 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, 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. The @pixi-essentials/cull and pixi-cull packages do this out of the box.

    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

    Returns void

Protected renderAdvanced

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

    Parameters

    Returns void

Optional renderCanvas

  • renderCanvas(renderer: CanvasRenderer): void
  • Parameters

    • renderer: CanvasRenderer

    Returns void

setChildIndex

  • 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

  • Set the parent Container of this DisplayObject.

    Parameters

    • container: Container

      The Container to add this DisplayObject to.

    Returns Container

    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): Sprite
  • Convenience function to set the position, scale, skew and pivot at once.

    Parameters

    • Optional x: number
    • Optional y: number
    • Optional scaleX: number
    • Optional scaleY: number
    • Optional rotation: number
    • Optional skewX: number
    • Optional skewY: number
    • Optional pivotX: number
    • Optional pivotY: number

    Returns Sprite

    The DisplayObject instance

sortChildren

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

    Returns void

swapChildren

  • Swaps the position of 2 Display Objects within this container.

    Parameters

    Returns void

toGlobal

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

    Type parameters

    Parameters

    • position: IPointData

      The world origin to calculate from.

    • Optional point: P
    • Optional skipUpdate: boolean

    Returns P

    A point object representing the position of this object.

toLocal

  • Calculates the local position of the display object relative to another point.

    Type parameters

    Parameters

    • position: IPointData

      The world origin to calculate from.

    • Optional from: DisplayObject
    • Optional point: P
    • Optional skipUpdate: boolean

    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 from

  • Helper function that creates a new sprite based on the source you provide. The source can be - frame id, image url, video url, canvas element, video element, base texture

    static

    Parameters

    Returns Sprite

    The newly created sprite

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