Options
All
  • Public
  • Public/Protected
  • All
Menu

Class AnimatedParticle

An individual particle image with an animation. Art data passed to the emitter must be formatted in a particular way for AnimatedParticle to be able to handle it:

{
    //framerate is required. It is the animation speed of the particle in frames per
    //second.
    //A value of "matchLife" causes the animation to match the lifetime of an individual
    //particle, instead of at a constant framerate. This causes the animation to play
    //through one time, completing when the particle expires.
    framerate: 6,
    //loop is optional, and defaults to false.
    loop: true,
    //textures is required, and can be an array of any (non-zero) length.
    textures: [
        //each entry represents a single texture that should be used for one or more
        //frames. Any strings will be converted to Textures with Texture.from().
        //Instances of PIXI.Texture will be used directly.
        "animFrame1.png",
        //entries can be an object with a 'count' property, telling AnimatedParticle to
        //use that texture for 'count' frames sequentially.
        {
            texture: "animFrame2.png",
            count: 3
        },
        "animFrame3.png"
    ]
}

Hierarchy

Implements

Index

Constructors

Properties

Methods

Constructors

constructor

Properties

Protected Particle_destroy

Particle_destroy: typeof destroy

Protected Particle_init

Particle_init: typeof init

A reference to init, so that subclasses can access it without the penalty of Function.call()

Protected Particle_update

Particle_update: typeof update

A reference to update so that subclasses can access the original without the overhead of Function.call().

param

Time elapsed since the previous frame, in seconds.

returns

The standard interpolation multiplier (0-1) used for all relevant particle properties. A value of -1 means the particle died of old age instead.

Protected Sprite_destroy

Sprite_destroy: typeof destroy

_accessibleActive

_accessibleActive: boolean
member

{boolean}

memberof

PIXI.DisplayObject#

todo

Needs docs.

_accessibleDiv

_accessibleDiv: boolean
member

{boolean}

memberof

PIXI.DisplayObject#

todo

Needs docs.

Protected _bounds

_bounds: Bounds

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

member

{PIXI.Bounds} PIXI.DisplayObject#_bounds

Protected _cachedTint

_cachedTint: number

Cached tint value so we can tell when the tint is changed. Value is used for 2d CanvasRenderer.

member

{number} PIXI.Sprite#_cachedTint

default

0xFFFFFF

Protected _destroyed

_destroyed: boolean

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

member

{boolean} PIXI.DisplayObject#_destroyed

Protected _doAcceleration

_doAcceleration: boolean

If acceleration should be handled at all. _doSpeed is mutually exclusive with this, and _doSpeed gets priority.

Protected _doAlpha

_doAlpha: boolean

If alpha should be interpolated at all.

Protected _doColor

_doColor: boolean

If color should be interpolated at all.

Protected _doNormalMovement

_doNormalMovement: boolean

If normal movement should be handled. Subclasses wishing to override movement can set this to false in init().

Protected _doScale

_doScale: boolean

If scale should be interpolated at all.

Protected _doSpeed

_doSpeed: boolean

If speed should be interpolated at all.

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.

member

{number} PIXI.DisplayObject#_lastSortedIndex

Protected _mask

_mask: Graphics | Sprite | null

The original, cached mask of the object.

member

{PIXI.Graphics|PIXI.Sprite|null} PIXI.DisplayObject#_mask

Protected _tempDisplayObjectParent

_tempDisplayObjectParent: DisplayObject
member

{PIXI.DisplayObject}

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.

member

{number} PIXI.DisplayObject#_zIndex

acceleration

acceleration: Point

Acceleration to apply to the particle.

accessible

accessible: boolean

Flag for if the object is accessible. If true AccessibilityManager will overlay a shadow div with attributes set

member

{boolean}

memberof

PIXI.DisplayObject#

accessibleChildren

accessibleChildren: boolean

Setting to false will prevent any children inside this container to be accessible. Defaults to true.

member

{boolean}

memberof

PIXI.DisplayObject#

default

true

accessibleHint

accessibleHint: string

Sets the aria-label attribute of the shadow div

member

{string}

memberof

PIXI.DisplayObject#

accessiblePointerEvents

accessiblePointerEvents: string

Specify the pointer-events the accessible div will use Defaults to auto.

member

{string}

memberof

PIXI.DisplayObject#

default

'auto'

accessibleTitle

accessibleTitle: string

Sets the title attribute of the shadow div If accessibleTitle AND accessibleHint has not been this will default to 'displayObject [tabIndex]'

member

{?string}

memberof

PIXI.DisplayObject#

accessibleType

accessibleType: string

Specify the type of div the accessible layer is. Screen readers treat the element differently depending on this type. Defaults to button.

member

{string}

memberof

PIXI.DisplayObject#

default

'button'

age

age: number

The current age of the particle, in seconds.

alpha

alpha: number

The opacity of the object.

member

{number} PIXI.DisplayObject#alpha

alphaList

alphaList: PropertyList<number>

The alpha of the particle throughout its life.

anchor

anchor: ObservablePoint

The anchor sets the origin point of the text. The default value is taken from the {@link PIXI.Texture|Texture} and passed to the constructor.

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

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

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

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}

angle

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.

member

{number}

blendMode

blendMode: number

The blend mode to be applied to the sprite. Apply a value of PIXI.BLEND_MODES.NORMAL to reset the blend mode.

member

{number} PIXI.Sprite#blendMode

default

PIXI.BLEND_MODES.NORMAL

see

PIXI.BLEND_MODES

buttonMode

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

example

const sprite = new PIXI.Sprite(texture); sprite.interactive = true; sprite.buttonMode = true;

member

{boolean}

memberof

PIXI.DisplayObject#

cacheAsBitmap

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.

member

{boolean}

memberof

PIXI.DisplayObject#

Readonly children

children: DisplayObject[]

The array of children of this container.

member

{PIXI.DisplayObject[]} PIXI.Container#children

readonly

colorList

colorList: PropertyList<Color>

The tint of the particle throughout its life.

cursor

cursor: string

This defines what cursor mode is used when the mouse cursor is hovered over the displayObject.

example

const sprite = new PIXI.Sprite(texture); sprite.interactive = true; sprite.cursor = 'wait';

see

https://developer.mozilla.org/en/docs/Web/CSS/cursor

member

{string}

memberof

PIXI.DisplayObject#

Private duration

duration: number

Duration of the animation, in seconds.

ease

A simple easing function to be applied to all properties that are being interpolated.

Private elapsed

elapsed: number

Animation time elapsed, in seconds.

emitter

emitter: Emitter

The emitter that controls this particle.

extraData

extraData: any

Extra data that the emitter passes along for custom particles.

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.

member

{?PIXI.Rectangle} PIXI.DisplayObject#filterArea

filters

filters: 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'.
member

{?PIXI.Filter[]} PIXI.DisplayObject#filters

Private framerate

framerate: number

Animation framerate, in frames per second.

height

height: number

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

member

{number}

hitArea

hitArea: IHitArea

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.

example

const sprite = new PIXI.Sprite(texture); sprite.interactive = true; sprite.hitArea = new PIXI.Rectangle(0, 0, 100, 100);

member

{PIXI.IHitArea}

memberof

PIXI.DisplayObject#

interactive

interactive: boolean

Enable interaction events for the DisplayObject. Touch, pointer and mouse events will not be emitted unless interactive is set to true.

example

const sprite = new PIXI.Sprite(texture); sprite.interactive = true; sprite.on('tap', (event) => { //handle event });

member

{boolean}

memberof

PIXI.DisplayObject#

interactiveChildren

interactiveChildren: boolean

Determines if the children to the displayObject can be clicked/touched Setting this to false allows PixiJS to bypass a recursive hitTest function

member

{boolean}

memberof

PIXI.Container#

isMask

isMask: boolean

Does any other displayObject use this object as a mask?

member

{boolean} PIXI.DisplayObject#isMask

isSprite

isSprite: boolean

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

member

{boolean} PIXI.Sprite#isSprite

Readonly localTransform

localTransform: Matrix

Current transform of the object based on local factors: position, scale, other stuff.

member

{PIXI.Matrix}

readonly

Private loop

loop: boolean

If this particle animation should loop.

mask

mask: 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 {@link PIXI.Graphics} or a {@link 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}

maxLife

maxLife: number

The maximum lifetime of this particle, in seconds.

maxSpeed

maxSpeed: number

The maximum speed allowed for accelerating particles. Negative values, values of 0 or NaN will disable the maximum speed.

name

name: string

The instance name of the object.

memberof

PIXI.DisplayObject#

member

{string} name

next

next: Particle

Reference to the next particle in the list.

nextChild

nextChild: LinkedListChild

noRotation

noRotation: boolean

If particle rotation is locked, preventing rotation from occurring due to directional changes.

Readonly parent

parent: Container

The display object container that contains this display object.

member

{PIXI.Container} PIXI.DisplayObject#parent

readonly

pivot

pivot: IPoint

The pivot point of the displayObject that it rotates around. Assignment by value since pixi-v4.

member

{PIXI.IPoint}

pluginName

pluginName: string

Plugin that is responsible for rendering this element. Allows to customize the rendering process without overriding '_render' & '_renderCanvas' methods.

member

{string} PIXI.Sprite#pluginName

default

'batch'

position

position: IPoint

The coordinate of the object relative to the local coordinates of the parent. Assignment by value since pixi-v4.

member

{PIXI.IPoint}

prev

prev: Particle

Reference to the previous particle in the list.

prevChild

prevChild: LinkedListChild

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.

member

{boolean} PIXI.DisplayObject#renderable

rotation

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.

member

{number}

rotationAcceleration

rotationAcceleration: number

Acceleration of rotation (angular acceleration) to apply to the particle.

rotationSpeed

rotationSpeed: number

Speed at which the particle rotates, in radians per second.

roundPixels

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

scale

scale: IPoint

The scale factor of the object. Assignment by value since pixi-v4.

member

{PIXI.IPoint}

scaleList

scaleList: PropertyList<number>

The scale of the particle throughout its life.

scaleMultiplier

scaleMultiplier: number

A multiplier from 0-1 applied to the scale of the particle at all times.

shader

shader: Filter | Shader

The shader that will be used to render the sprite. Set to null to remove a current shader.

member

{PIXI.Filter|PIXI.Shader} PIXI.Sprite#shader

skew

skew: ObservablePoint

The skew factor for the object in radians. Assignment by value since pixi-v4.

member

{PIXI.ObservablePoint}

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.

member

{boolean} PIXI.Container#sortDirty

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

member

{boolean} PIXI.Container#sortableChildren

speedList

speedList: PropertyList<number>

The speed of the particle throughout its life.

speedMultiplier

speedMultiplier: number

A multiplier from 0-1 applied to the speed of the particle at all times.

texture

texture: Texture

The texture that the sprite is using

member

{PIXI.Texture}

Private textures

textures: Texture[]

Texture array used as each frame of animation, similarly to how MovieClip works.

tint

tint: number

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

member

{number}

default

0xFFFFFF

transform

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

member

{PIXI.Transform} PIXI.DisplayObject#transform

velocity

velocity: Point

The velocity of the particle. Speed may change, but the angle also contained in velocity is constant.

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.

member

{boolean} PIXI.DisplayObject#visible

width

width: number

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

member

{number}

Readonly worldAlpha

worldAlpha: number

The multiplied alpha of the displayObject.

member

{number} PIXI.DisplayObject#worldAlpha

readonly

Readonly worldTransform

worldTransform: Matrix

Current transform of the object based on world (parent) factors.

member

{PIXI.Matrix}

readonly

Readonly worldVisible

worldVisible: boolean

Indicates if the object is globally visible.

member

{boolean}

readonly

x

x: number

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

member

{number}

y

y: number

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

member

{number}

zIndex

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 displayObjects within the same container.

member

{number}

Methods

Protected _calculateBounds

  • _calculateBounds(): void

_recursivePostUpdateTransform

  • _recursivePostUpdateTransform(): void

Protected _render

  • _render(renderer: Renderer): void
  • Renders the object using the WebGL renderer

    Parameters

    • renderer: Renderer

      The webgl renderer to use.

    Returns void

addChild

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

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

    Type parameters

    • TChildren: DisplayObject[]

    Parameters

    • Rest ...child: TChildren

      The DisplayObject(s) to add to the container

    Returns TChildren[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

    • T: DisplayObject

    Parameters

    • child: T

      The child to add

    • index: number

      The index to place the child in

    Returns T

    The child that was added.

applyArt

calculateBounds

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

  • containsPoint(point: Point): boolean
  • Tests if a point is inside this sprite

    Parameters

    • point: Point

      the point to test

    Returns boolean

    the result of the test

destroy

  • destroy(): void

displayObjectUpdateTransform

  • displayObjectUpdateTransform(): void

getBounds

  • getBounds(skipUpdate?: boolean, rect?: Rectangle): Rectangle
  • Retrieves the bounds of the displayObject as a rectangle object.

    Parameters

    • Optional skipUpdate: boolean
    • Optional rect: Rectangle

    Returns Rectangle

    The rectangular bounding area.

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(name: string): DisplayObject
  • Returns the display object in the container.

    method

    getChildByName

    memberof

    PIXI.Container#

    Parameters

    • name: string

      Instance name.

    Returns DisplayObject

    The child with the specified name.

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

getGlobalPosition

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

getLocalBounds

  • getLocalBounds(rect?: Rectangle): Rectangle
  • Gets the local bounds of the sprite object.

    Parameters

    • Optional rect: Rectangle

    Returns Rectangle

    The bounds.

init

  • init(): void

kill

  • kill(): void
  • Kills the particle, removing it from the display list and telling the emitter to recycle it.

    Returns void

Protected onChildrenChange

  • onChildrenChange(): void

removeChild

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

    Type parameters

    • TChildren: DisplayObject[]

    Parameters

    • Rest ...child: TChildren

      The DisplayObject(s) to remove

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

    Returns DisplayObject[]

    List of removed children

render

  • render(renderer: Renderer): void
  • Renders the object using the WebGL renderer

    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): Container
  • 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): DisplayObject
  • 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 DisplayObject

    The DisplayObject instance

sortChildren

  • sortChildren(): 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(position: IPoint, point?: IPoint, skipUpdate?: boolean): IPoint
  • Calculates the global position of the display object.

    Parameters

    • position: IPoint

      The world origin to calculate from.

    • Optional point: IPoint
    • Optional skipUpdate: boolean

    Returns IPoint

    A point object representing the position of this object.

toLocal

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

    Parameters

    • position: IPoint

      The world origin to calculate from.

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

    Returns IPoint

    A point object representing the position of this object

update

  • update(delta: number): number

updateTransform

  • updateTransform(): void

Static from

  • from(source: string | Texture | HTMLCanvasElement | HTMLVideoElement, options?: any): Sprite
  • 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

    • source: string | Texture | HTMLCanvasElement | HTMLVideoElement

      Source to create texture from

    • Optional options: any

    Returns Sprite

    The newly created sprite

Static mixin

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

    Parameters

    • source: any

      The source of properties and methods to mix in.

    Returns void

Static parseArt

  • Checks over the art that was passed to the Emitter's init() function, to do any special modifications to prepare it ahead of time.

    Parameters

    Returns any

    The art, after any needed modifications.

Static parseData

  • parseData(extraData: any): any
  • Parses extra emitter data to ensure it is set up for this particle class. Particle does nothing to the extra data.

    Parameters

    • extraData: any

      The extra data from the particle config.

    Returns any

    The parsed extra data.

Generated using TypeDoc