Mirror Engine
V7
How To
Mirror Engine Logo

Mirror Engine API


Mirror Engine API / SpriteAnimationClip

Class: SpriteAnimationClip

Handles playing of sprite animations and loading of relevant sprite assets.

Extends

Constructors

new SpriteAnimationClip()

new SpriteAnimationClip(component: SpriteComponent, data: {
  fps: number;
  loop: boolean;
  name: string;
  spriteAsset: number;
 }): SpriteAnimationClip

Create a new SpriteAnimationClip instance.

Parameters

component

SpriteComponent

The sprite component managing this clip.

data

Data for the new animation clip.

fps?

number

Frames per second for the animation clip.

loop?

boolean

Whether to loop the animation clip.

name?

string

The name of the new animation clip.

spriteAsset?

number

The id of the sprite asset that this clip will play.

Returns

SpriteAnimationClip

Overrides

EventHandler.constructor

duration

Get Signature

get duration(): number

Gets the total duration of the animation in seconds.

Returns

number


frame

Get Signature

get frame(): number

Gets the index of the frame of the Sprite currently being rendered.

Returns

number

Set Signature

set frame(value: number): void

Sets the index of the frame of the Sprite currently being rendered.

Parameters
value

number

Returns

void


isPaused

Get Signature

get isPaused(): boolean

Sets whether the animation is currently paused.

Returns

boolean


isPlaying

Get Signature

get isPlaying(): boolean

Sets whether the animation is currently playing.

Returns

boolean


sprite

Get Signature

get sprite(): Sprite

Gets the current sprite used to play the animation.

Returns

Sprite

Set Signature

set sprite(value: Sprite): void

Sets the current sprite used to play the animation.

Parameters
value

Sprite

Returns

void


spriteAsset

Get Signature

get spriteAsset(): number

Gets the id of the sprite asset used to play the animation.

Returns

number

Set Signature

set spriteAsset(value: number): void

Sets the id of the sprite asset used to play the animation.

Parameters
value

number

Returns

void


time

Get Signature

get time(): number

Gets the current time of the animation in seconds.

Returns

number

Set Signature

set time(value: number): void

Sets the current time of the animation in seconds.

Parameters
value

number

Returns

void

Methods

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


pause()

pause(): void

Pauses the animation.

Returns

void


play()

play(): void

Plays the animation. If it's already playing then this does nothing.

Returns

void


resume()

resume(): void

Resumes the paused animation.

Returns

void


stop()

stop(): void

Stops the animation and resets the animation to the first frame.

Returns

void

Events

EVENT_END

static EVENT_END: string = 'end';

Fired when the clip stops playing because it reached its end.

Example

clip.on('end', () => {
  console.log('Clip ended')
})

EVENT_LOOP

static EVENT_LOOP: string = 'loop';

Fired when the clip reached the end of its current loop.

Example

clip.on('loop', () => {
  console.log('Clip looped')
})

EVENT_PAUSE

static EVENT_PAUSE: string = 'pause';

Fired when the clip is paused.

Example

clip.on('pause', () => {
  console.log('Clip paused')
})

EVENT_PLAY

static EVENT_PLAY: string = 'play';

Fired when the clip starts playing.

Example

clip.on('play', () => {
  console.log('Clip started playing')
})

EVENT_RESUME

static EVENT_RESUME: string = 'resume';

Fired when the clip is resumed.

Example

clip.on('resume', () => {
  console.log('Clip resumed')
})

EVENT_STOP

static EVENT_STOP: string = 'stop';

Fired when the clip is stopped.

Example

clip.on('stop', () => {
  console.log('Clip stopped')
})
Mirror Engine Logo