API Reference

Class List

SpriteAnimationClip

Extends: EventHandler

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

Summary

Properties

duration

The total duration of the animation in seconds.

frame

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

isPaused

Whether the animation is currently paused.

isPlaying

Whether the animation is currently playing.

sprite

The current sprite used to play the animation.

spriteAsset

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

time

The current time of the animation in seconds.

Methods

pause

Pauses the animation.

play

Plays the animation.

resume

Resumes the paused animation.

stop

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

Events

end

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

loop

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

pause

Fired when the clip is paused.

play

Fired when the clip starts playing.

resume

Fired when the clip is resumed.

stop

Fired when the clip is stopped.

Inherited

Methods

fire

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

hasEvent

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

off

Detach an event handler from an event.

on

Attach an event handler to an event.

once

Attach an event handler to an event.

Details

Constructor

SpriteAnimationClip(component, data)

Create a new SpriteAnimationClip instance.

Parameters

componentSpriteComponent

The sprite component managing this clip.

dataobject

Data for the new animation clip.

data.fpsnumber

Frames per second for the animation clip.

data.loopboolean

Whether to loop the animation clip.

data.namestring

The name of the new animation clip.

data.spriteAssetnumber

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

Properties

numberduration

The total duration of the animation in seconds.

numberframe

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

booleanisPaused

Whether the animation is currently paused.

booleanisPlaying

Whether the animation is currently playing.

Spritesprite

The current sprite used to play the animation.

numberspriteAsset

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

numbertime

The current time of the animation in seconds.

Methods

pause()

Pauses the animation.

play()

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

resume()

Resumes the paused animation.

stop()

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

Events

end

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

loop

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

pause

Fired when the clip is paused.

play

Fired when the clip starts playing.

resume

Fired when the clip is resumed.

stop

Fired when the clip is stopped.

Inherited

Methods

fire(name, [arg1], [arg2], [arg3], [arg4], [arg5], [arg6], [arg7], [arg8])

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

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

Parameters

namestring

Name of event to fire.

arg1*

First argument that is passed to the event handler.

arg2*

Second argument that is passed to the event handler.

arg3*

Third argument that is passed to the event handler.

arg4*

Fourth argument that is passed to the event handler.

arg5*

Fifth argument that is passed to the event handler.

arg6*

Sixth argument that is passed to the event handler.

arg7*

Seventh argument that is passed to the event handler.

arg8*

Eighth argument that is passed to the event handler.

Returns

EventHandler

Self for chaining.

hasEvent(name)

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

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

Parameters

namestring

The name of the event to test.

Returns

boolean

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

off([name], [callback], [scope])

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.

const handler = function () {
};
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

Parameters

namestring

Name of the event to unbind.

callbackHandleEventCallback

Function to be unbound.

scopeobject

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

Returns

EventHandler

Self for chaining.

on(name, callback, [scope])

Attach an event handler to an event.

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

Parameters

namestring

Name of the event to bind the callback to.

callbackHandleEventCallback

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

scopeobject

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.

once(name, callback, [scope])

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

obj.once('test', function (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

Parameters

namestring

Name of the event to bind the callback to.

callbackHandleEventCallback

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

scopeobject

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.