Mirror Engine
V5
How To
Mirror Engine Logo

Mirror Engine API


Mirror Engine API / Sprite

Class: Sprite

A Sprite contains references to one or more frames of a TextureAtlas. It can be used by the SpriteComponent or the ElementComponent to render a single frame or a sprite animation.

Extends

Constructors

new Sprite()

new Sprite(device: GraphicsDevice, options?: {
  atlas: TextureAtlas;
  frameKeys: string[];
  pixelsPerUnit: number;
  renderMode: number;
 }): Sprite

Create a new Sprite instance.

Parameters

device

GraphicsDevice

The graphics device of the application.

options?

Options for creating the Sprite.

atlas?

TextureAtlas

The texture atlas. Defaults to null.

frameKeys?

string[]

The keys of the frames in the sprite atlas that this sprite is using. Defaults to null.

pixelsPerUnit?

number

The number of pixels that map to one Mirror Engine unit. Defaults to 1.

renderMode?

number

The rendering mode of the sprite. Can be:

Defaults to SPRITE_RENDERMODE_SIMPLE.

Returns

Sprite

Overrides

EventHandler.constructor

atlas

Get Signature

get atlas(): TextureAtlas

Gets the texture atlas.

Returns

TextureAtlas

Set Signature

set atlas(value: TextureAtlas): void

Sets the texture atlas.

Parameters
value

TextureAtlas

Returns

void


frameKeys

Get Signature

get frameKeys(): string[]

Gets the keys of the frames in the sprite atlas that this sprite is using.

Returns

string[]

Set Signature

set frameKeys(value: string[]): void

Sets the keys of the frames in the sprite atlas that this sprite is using.

Parameters
value

string[]

Returns

void


meshes

Get Signature

get meshes(): Mesh[]

An array that contains a mesh for each frame.

Returns

Mesh[]


pixelsPerUnit

Get Signature

get pixelsPerUnit(): number

Gets the number of pixels that map to one Mirror Engine unit.

Returns

number

Set Signature

set pixelsPerUnit(value: number): void

Sets the number of pixels that map to one Mirror Engine unit.

Parameters
value

number

Returns

void


renderMode

Get Signature

get renderMode(): number

Sets the rendering mode of the sprite.

Returns

number

Set Signature

set renderMode(value: number): void

Sets the rendering mode of the sprite. Can be:

Parameters
value

number

Returns

void

Methods

destroy()

destroy(): void

Free up the meshes created by the sprite.

Returns

void


fire()

fire(
   name: string,
   arg1?: any,
   arg2?: any,
   arg3?: any,
   arg4?: any,
   arg5?: any,
   arg6?: any,
   arg7?: any,
   arg8?: any): EventHandler

Fire an event, all additional arguments are passed on to the event listener.

Parameters

name

string

Name of event to fire.

arg1?

any

First argument that is passed to the event handler.

arg2?

any

Second argument that is passed to the event handler.

arg3?

any

Third argument that is passed to the event handler.

arg4?

any

Fourth argument that is passed to the event handler.

arg5?

any

Fifth argument that is passed to the event handler.

arg6?

any

Sixth argument that is passed to the event handler.

arg7?

any

Seventh argument that is passed to the event handler.

arg8?

any

Eighth argument that is passed to the event handler.

Returns

EventHandler

Self for chaining.

Example

obj.fire('test', 'This is the message')

Inherited from

EventHandler.fire


hasEvent()

hasEvent(name: string): boolean

Test if there are any handlers bound to an event name.

Parameters

name

string

The name of the event to test.

Returns

boolean

True if the object has handlers bound to the specified event name.

Example

obj.on('test', () => {}) // bind an event to 'test'
obj.hasEvent('test') // returns true
obj.hasEvent('hello') // returns false

Inherited from

EventHandler.hasEvent


off()

off(
   name?: string,
   callback?: HandleEventCallback,
   scope?: any): EventHandler

Detach an event handler from an event. If callback is not provided then all callbacks are unbound from the event, if scope is not provided then all events with the callback will be unbound.

Parameters

name?

string

Name of the event to unbind.

callback?

HandleEventCallback

Function to be unbound.

scope?

any

Scope that was used as the this when the event is fired.

Returns

EventHandler

Self for chaining.

Example

const handler = () => {}
obj.on('test', handler)

obj.off() // Removes all events
obj.off('test') // Removes all events called 'test'
obj.off('test', handler) // Removes all handler functions, called 'test'
obj.off('test', handler, this) // Removes all handler functions, called 'test' with scope this

Inherited from

EventHandler.off


on()

on(
   name: string,
   callback: HandleEventCallback,
   scope?: any): EventHandle

Attach an event handler to an event.

Parameters

name

string

Name of the event to bind the callback to.

callback

HandleEventCallback

Function that is called when event is fired. Note the callback is limited to 8 arguments.

scope?

any = ...

Object to use as 'this' when the event is fired, defaults to current this.

Returns

EventHandle

Can be used for removing event in the future.

Examples

obj.on('test', (a, b) => {
  console.log(a + b)
})
obj.fire('test', 1, 2) // prints 3 to the console
const evt = obj.on('test', (a, b) => {
  console.log(a + b)
})
// some time later
evt.off()

Inherited from

EventHandler.on


once()

once(
   name: string,
   callback: HandleEventCallback,
   scope?: any): EventHandle

Attach an event handler to an event. This handler will be removed after being fired once.

Parameters

name

string

Name of the event to bind the callback to.

callback

HandleEventCallback

Function that is called when event is fired. Note the callback is limited to 8 arguments.

scope?

any = ...

Object to use as 'this' when the event is fired, defaults to current this.

Returns

EventHandle

  • can be used for removing event in the future.

Example

obj.once('test', (a, b) => {
  console.log(a + b)
})
obj.fire('test', 1, 2) // prints 3 to the console
obj.fire('test', 1, 2) // not going to get handled

Inherited from

EventHandler.once

Mirror Engine Logo