
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
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
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
Set Signature
set sprite(value: Sprite): void
Sets the current sprite used to play the animation.
Parameters
value
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
Self for chaining.
Example
obj.fire('test', 'This is the message')
Inherited from
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
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
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
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
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
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
- 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
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')
})