Class SpriteManager
Hierarchy (View Summary)
- SpriteManager
Implements
Constructors
constructor
-
new SpriteManager(
name: string,
imgUrl: string,
capacity: number,
cellSize: any,
scene: Scene,
epsilon?: number,
samplingMode?: number,
fromPacked?: boolean,
spriteJSON?: string | null,
options?: SpriteManagerOptions,
): SpriteManagerCreates a new sprite manager
Parameters
- name: string
defines the manager's name
- imgUrl: string
defines the sprite sheet url
- capacity: number
defines the maximum allowed number of sprites
- cellSize: any
defines the size of a sprite cell
- scene: Scene
defines the hosting scene
- epsilon: number = 0.01
defines the epsilon value to align texture (0.01 by default)
- samplingMode: number = Texture.TRILINEAR_SAMPLINGMODE
defines the sampling mode to use with spritesheet
- fromPacked: boolean = false
set to false; do not alter
- spriteJSON: string | null = null
null otherwise a JSON object defining sprite sheet data; do not alter
Optionaloptions: SpriteManagerOptionsoptions used to create the SpriteManager instance
Returns SpriteManager
- name: string
Properties
do Not Serialize
Specifies if the sprite manager should be serialized
is Pickable
Gets or sets a boolean indicating if the sprites are pickable
layer Mask
Gets or sets camera layer mask
metadata
Gets or sets an object used to store user defined information for the sprite manager
name
defines the manager's name
on Dispose Observable
An event triggered when the manager is disposed.
rendering Group Id
Gets or sets the rendering group id (0 by default)
snippet Id
Snippet ID if the manager was created from the snippet server
sprites
Gets the list of sprites
unique Id
Gets or sets the unique id of the sprite
StaticCreate From Snippet Async
snippetId: string,
scene: Scene,
rootUrl?: string,
) => Promise<SpriteManager> = SpriteManager.ParseFromSnippetAsync
Creates a sprite manager from a snippet saved by the sprite editor
Type Declaration
-
- (snippetId: string, scene: Scene, rootUrl?: string): Promise<SpriteManager>
-
Creates a sprite manager from a snippet saved by the sprite editor
Parameters
- snippetId: string
defines the snippet to load (can be set to _BLANK to create a default one)
- scene: Scene
defines the hosting scene
- rootUrl: string = ""
defines the root URL to use to load textures and relative dependencies
Returns Promise<SpriteManager>
a promise that will resolve to the new sprite manager
- snippetId: string
StaticSnippet Url
Define the Url to load snippets
Accessors
blend Mode
-
get blendMode(): number
Blend mode use to render the particle, it can be any of the static Constants.ALPHA_x properties provided in this class. Default value is Constants.ALPHA_COMBINE
Returns number
-
set blendMode(blendMode: number): void
Parameters
- blendMode: number
Returns void
capacity
-
get capacity(): number
Gets the capacity of the manager
Returns number
cell Height
-
get cellHeight(): number
Defines the default height of a cell in the spritesheet
Returns number
-
set cellHeight(value: number): void
Defines the default height of a cell in the spritesheet
Parameters
- value: number
Returns void
cell Width
-
get cellWidth(): number
Defines the default width of a cell in the spritesheet
Returns number
-
set cellWidth(value: number): void
Defines the default width of a cell in the spritesheet
Parameters
- value: number
Returns void
children
-
Gets the array of sprites
Returns Sprite[]
disable Depth Write
-
get disableDepthWrite(): boolean
Disables writing to the depth buffer when rendering the sprites. It can be handy to disable depth writing when using textures without alpha channel and setting some specific blend modes.
Returns boolean
-
set disableDepthWrite(value: boolean): void
Parameters
- value: boolean
Returns void
fog Enabled
-
get fogEnabled(): boolean
Gets or sets a boolean indicating if the manager must consider scene fog when rendering
Returns boolean
-
set fogEnabled(value: boolean): void
Parameters
- value: boolean
Returns void
on Dispose
-
set onDispose(callback: () => void): void
Callback called when the manager is disposed
Parameters
- callback: () => void
Returns void
pixel Perfect
-
get pixelPerfect(): boolean
Gets or sets a boolean indicating if the renderer must render sprites with pixel perfect rendering In this mode, sprites are rendered as "pixel art", which means that they appear as pixelated but remain stable when moving or when rotated or scaled. Note that for this mode to work as expected, the sprite texture must use the BILINEAR sampling mode, not NEAREST!
Returns boolean
-
set pixelPerfect(value: boolean): void
Parameters
- value: boolean
Returns void
scene
-
get scene(): InternalSpriteAugmentedScene
Gets the hosting scene
Returns InternalSpriteAugmentedScene
sprite Renderer
-
get spriteRenderer(): SpriteRenderer
Gets the sprite renderer associated with this manager
Returns SpriteRenderer
texture
-
Gets or sets the spritesheet texture
Returns Texture
use Logarithmic Depth
-
get useLogarithmicDepth(): boolean
Gets or sets a boolean indicating if the manager must use logarithmic depth when rendering
Returns boolean
-
set useLogarithmicDepth(value: boolean): void
Parameters
- value: boolean
Returns void
Methods
dispose
-
Release associated resources
Returns void
get Class Name
-
Returns the string "SpriteManager"
Returns string
"SpriteManager"
intersects
-
intersects(
ray: Ray,
camera: Camera,
predicate?: (sprite: Sprite) => boolean,
fastCheck?: boolean,
): Nullable<PickingInfo>Intersects the sprites with a ray
Parameters
- ray: Ray
defines the ray to intersect with
- camera: Camera
defines the current active camera
Optionalpredicate: (sprite: Sprite) => booleandefines a predicate used to select candidate sprites
OptionalfastCheck: booleandefines if a fast check only must be done (the first potential sprite is will be used and not the closer)
Returns Nullable<PickingInfo>
null if no hit or a PickingInfo
- ray: Ray
is Ready
-
Checks whether the sprite data, texture and current render-pass shader are ready. An empty sprite manager is ready without preparing rendering resources.
Returns boolean
true when all required resources are ready
multi Intersects
-
multiIntersects(
ray: Ray,
camera: Camera,
predicate?: (sprite: Sprite) => boolean,
): Nullable<PickingInfo[]>Intersects the sprites with a ray
Parameters
Returns Nullable<PickingInfo[]>
null if no hit or a PickingInfo array
rebuild
-
Rebuilds the manager (after a context lost, for eg)
Returns void
render
-
Render all child sprites
Returns void
serialize
-
Serializes the sprite manager to a JSON object
Parameters
- serializeTexture: boolean = false
defines if the texture must be serialized as well
Returns any
the JSON object
- serializeTexture: boolean = false
StaticParse
-
Parses a JSON object to create a new sprite manager.
Parameters
- parsedManager: any
The JSON object to parse
- scene: Scene
The scene to create the sprite manager
- rootUrl: string
The root url to use to load external dependencies like texture
Returns SpriteManager
the new sprite manager
- parsedManager: any
StaticParse From File Async
-
ParseFromFileAsync(
name: Nullable<string>,
url: string,
scene: Scene,
rootUrl?: string,
): Promise<SpriteManager>Creates a sprite manager from a snippet saved in a remote file
Parameters
- name: Nullable<string>
defines the name of the sprite manager to create (can be null or empty to use the one from the json data)
- url: string
defines the url to load from
- scene: Scene
defines the hosting scene
- rootUrl: string = ""
defines the root URL to use to load textures and relative dependencies
Returns Promise<SpriteManager>
a promise that will resolve to the new sprite manager
- name: Nullable<string>
StaticParse From Snippet Async
-
Creates a sprite manager from a snippet saved by the sprite editor
Parameters
- snippetId: string
defines the snippet to load (can be set to _BLANK to create a default one)
- scene: Scene
defines the hosting scene
- rootUrl: string = ""
defines the root URL to use to load textures and relative dependencies
Returns Promise<SpriteManager>
a promise that will resolve to the new sprite manager
- snippetId: string
Class used to manage multiple sprites on the same spritesheet
See
https://doc.babylonjs.com/features/featuresDeepDive/sprites