A basic PCO sprite mesh which is handling occlusion and depth.

Mixes

PrimaryOccludableObjectMixin

Mixes

PrimaryCanvasObjectMixin

Param: options

The constructor options.

Param: options.texture

Texture passed to the SpriteMesh.

Param: options.shaderClass

The shader class used to render this sprite.

Param: options.name

The name of this sprite.

Param: options.object

Any object that owns this sprite.

Hierarchy (view full)

Properties

textureAlphaThreshold: number = 0

The texture alpha threshold used for point containment tests. If set to a value larger than 0, the texture alpha data is extracted from the texture at 25% resolution.

indices: Uint16Array

The indices of the geometry.

_textureAlphaData: TextureAlphaData = null

The texture alpha data.

_width: number = 0

The width of the sprite (this is initially set by the texture).

_height: number = 0

The height of the sprite (this is initially set by the texture)

The shader bound to this mesh.

vertexData: Float32Array

This is used to store the vertex data of the sprite (basically a quad).

uvs: Float32Array

This is used to store the uvs data of the sprite, assigned at the same time as the vertexData in calculateVertices().

_texture: Texture

The texture that the sprite is using.

_anchor: ObservablePoint

The anchor point defines the normalized coordinates in the texture that map to the position of this sprite.

By default, this is (0,0) (or texture.defaultAnchor if you have modified that), which means the position (x,y) of this Sprite will be the top-left corner.

Note: Updating texture.defaultAnchor after constructing a Sprite does not update its anchor.

https://docs.cocos2d-x.org/cocos2d-x/en/sprites/manipulation.html

_batchData: {
    _tintRGB: number;
    _texture: Texture;
    indices: number[];
    uvs: number[];
    blendMode: BLEND_MODES;
    vertexData: number[];
    worldAlpha: number;
} = ...

Snapshot of some parameters of this display object to render in batched mode.

Type declaration

  • _tintRGB: number
  • _texture: Texture
  • indices: number[]
  • uvs: number[]
  • blendMode: BLEND_MODES
  • vertexData: number[]
  • worldAlpha: number
_textureID: number = -1

The texture ID.

_cachedTint: [red: number, green: number, blue: number, alpha: number] = ...

Cached tint value so we can tell when the tint is changed.

_textureTrimmedID: number = -1

The texture trimmed ID.

vertexTrimmedData: Float32Array = null

This is used to calculate the bounds of the object IF it is a trimmed sprite.

_tintColor: Color = ...

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

_tintRGB: number = 0xFFFFFF

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

_textureUvs: any = null

An instance of a texture uvs used for padded SpriteMesh. Instanced only when padding becomes non-zero.

_tintAlphaDirty: boolean = true

Used to track a tint or alpha change to execute a recomputation of _cachedTint.

_paddingX: number
_paddingY: number
#geometry: Geometry = ...

Geometry bound to this SpriteMesh.

#state: State = ...

The PIXI.State of this SpriteMesh.

#TEMP_POINT: Point = ...

A temporary point used by this class.

Accessors

  • set blendMode(value): void
  • The blend mode applied to the SpriteMesh.

    Parameters

    • value: any

    Returns void

    Default Value

    PIXI.BLEND_MODES.NORMAL
    
  • get texture(): Texture
  • The texture that the sprite is using.

    Returns Texture

  • get paddingX(): number
  • The x padding in pixels (must be a non-negative value.)

    Returns number

  • get paddingY(): number
  • They y padding in pixels (must be a non-negative value.)

    Returns number

  • get padding(): number
  • The maximum x/y padding in pixels (must be a non-negative value.)

    Returns number

  • set roundPixels(value): void
  • If true PixiJS will Math.round() x/y values when rendering, stopping pixel interpolation. Advantages can include sharper image quality (like text) and faster rendering on canvas. The main disadvantage is movement of objects may appear less smooth. To set the global default, change PIXI.settings.ROUND_PIXELS

    Parameters

    • value: any

    Returns void

    Default Value

    PIXI.settings.ROUND_PIXELS
    
  • get alphaMode(): ALPHA_MODES
  • Used to force an alpha mode on this sprite mesh. If this property is non null, this value will replace the texture alphaMode when computing color channels. Affects how tint, worldAlpha and alpha are computed each others.

    Returns ALPHA_MODES

  • get pluginName(): string
  • Returns the SpriteMesh associated batch plugin. By default the returned plugin is that of the associated shader. If a plugin is forced, it will returns the forced plugin.

    Returns string

  • get width(): number
  • Returns number

  • get height(): number
  • Returns number

  • get anchor(): ObservablePoint
  • The anchor sets the origin point of the sprite. The default value is taken from the PIXI.Texture|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.

    Returns ObservablePoint

  • get tint(): number
  • The tint applied to the sprite. This is a hex value.

    A value of 0xFFFFFF will remove any tint effect.

    Returns number

    Default Value

    0xFFFFFF
    
  • get sourceElement(): HTMLImageElement | HTMLVideoElement
  • The HTML source element for this SpriteMesh texture.

    Returns HTMLImageElement | HTMLVideoElement

  • get isVideo(): boolean
  • Is this SpriteMesh rendering a video texture?

    Returns boolean

Methods

  • When the texture is updated, this event will fire to update the scale and frame.

    Returns void

  • Initialize shader based on the shader class type.

    Parameters

    • shaderClass: any

      The shader class

    Returns void

  • An all-in-one helper method: Resizing the PCO according to desired dimensions and options. This helper computes the width and height based on the following factors:

    • The ratio of texture width and base width.
    • The ratio of texture height and base height.

    Additionally, It takes into account the desired fit options:

    • (default) "fill" computes the exact width and height ratio.
    • "cover" takes the maximum ratio of width and height and applies it to both.
    • "contain" takes the minimum ratio of width and height and applies it to both.
    • "width" applies the width ratio to both width and height.
    • "height" applies the height ratio to both width and height.

    You can also apply optional scaleX and scaleY options to both width and height. The scale is applied after fitting.

    Important: By using this helper, you don't need to set the height, width, and scale properties of the DisplayObject.

    Note: This is a helper method. Alternatively, you could assign properties as you would with a PIXI DisplayObject.

    Parameters

    • baseWidth: number

      The base width used for computations.

    • baseHeight: number

      The base height used for computations.

    • Optional options: {
          fit: "fill" | "height" | "width" | "contain" | "cover";
          scaleX: number;
          scaleY: number;
      } = {}

      The options.

      • fit: "fill" | "height" | "width" | "contain" | "cover"

        The fit type.

      • scaleX: number

        The scale on X axis.

      • scaleY: number

        The scale on Y axis.

    Returns void

  • Returns void

  • Is the given point in canvas space contained in this object?

    Parameters

    • point: IPointData

      The point in canvas space

    • Optional textureAlphaThreshold: number = ...

      The minimum texture alpha required for containment

    Returns boolean

  • Is the given point in world space contained in this object?

    Parameters

    • point: IPointData

      The point in world space

    • Optional textureAlphaThreshold: number = ...

      The minimum texture alpha required for containment

    Returns boolean

  • Parameters

    • renderer: any

    Returns void

  • Internal

    Render the sprite with ERASE blending. Note: The sprite must not have visible/renderable children.

    Parameters

    • renderer: Renderer

      The renderer

    Returns void

  • Update uvs and push vertices and uv buffers on GPU if necessary.

    Returns void

  • Calculates worldTransform * vertices, store it in vertexData.

    Returns 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

  • Parameters

    • renderer: any

    Returns void

  • Parameters

    • options: any

    Returns void

  • Protected

    Called when the anchor position updates.

    Returns void

  • Is the given point in local space contained in this object?

    Parameters

    • point: IPointData

      The point in local space

    • textureAlphaThreshold: number

      The minimum texture alpha required for containment

    Returns boolean

  • Get alpha value of texture at the given texture coordinates.

    Parameters

    • x: number

      The x-coordinate

    • y: number

      The y-coordinate

    Returns number

    The alpha value (0-1)

  • Render the sprite that has a filter or a mask with ERASE blending. Note: The sprite must not have visible/renderable children.

    Parameters

    • renderer: Renderer

      The renderer

    Returns void

  • Render with batching.

    Parameters

    • renderer: Renderer

      The renderer

    • pluginName: string

      The batch renderer

    Returns void

  • Create a SpriteMesh from another source. You can specify texture options and a specific shader class derived from BaseSamplerShader.

    Parameters

    • source: any

      Source to create texture from.

    • Optional textureOptions: object

      See PIXI.BaseTexture's constructor for options.

    • Optional shaderClass: BaseSamplerShader

      The shader class to use. BaseSamplerShader by default.

    Returns SpriteMesh