API Reference

Class List

SpriteComponent

Extends: Component

Enables an Entity to render a simple static sprite or sprite animations.

Summary

Properties

autoPlayClip

The name of the clip to play automatically when the component is enabled and the clip exists.

batchGroupId

Assign sprite to a specific batch group (see BatchGroup).

clips

A dictionary that contains SpriteAnimationClips.

color

The color tint of the sprite.

currentClip

The current clip being played.

drawOrder

The draw order of the component.

flipX

Flip the X axis when rendering a sprite.

flipY

Flip the Y axis when rendering a sprite.

frame

The frame counter of the sprite.

height

The height of the sprite when rendering using 9-Slicing.

layers

An array of layer IDs (Layer#id) to which this sprite should belong.

opacity

The opacity of the sprite.

speed

A global speed modifier used when playing sprite animation clips.

sprite

The current sprite.

spriteAsset

The asset id or the Asset of the sprite to render.

type

The type of the SpriteComponent.

width

The width of the sprite when rendering using 9-Slicing.

Methods

addClip

Creates and adds a new SpriteAnimationClip to the component's clips.

clip

Get an animation clip by name.

pause

Pauses the current animation clip.

play

Plays a sprite animation clip by name.

removeClip

Removes a clip by name.

resume

Resumes the current paused animation clip.

stop

Stops the current animation clip and resets it to the first frame.

Events

end

Fired when an animation clip stops playing because it reached its ending.

loop

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

pause

Fired when an animation clip is paused.

play

Fired when an animation clip starts playing.

resume

Fired when an animation clip is resumed.

stop

Fired when an animation clip is stopped.

Inherited

Properties

enabled

Enables or disables the component.

entity

The Entity that this Component is attached to.

system

The ComponentSystem used to create this Component.

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

SpriteComponent(system, entity)

Create a new SpriteComponent instance.

Parameters

systemSpriteComponentSystem

The ComponentSystem that created this Component.

entityEntity

The Entity that this Component is attached to.

Properties

stringautoPlayClip

The name of the clip to play automatically when the component is enabled and the clip exists.

numberbatchGroupId

Assign sprite to a specific batch group (see BatchGroup). Default is -1 (no group).

{ [string]: SpriteAnimationClip }clips

A dictionary that contains SpriteAnimationClips.

Colorcolor

The color tint of the sprite.

SpriteAnimationClipcurrentClip

The current clip being played.

numberdrawOrder

The draw order of the component. A higher value means that the component will be rendered on top of other components in the same layer. This is not used unless the layer's sort order is set to SORTMODE_MANUAL.

booleanflipX

Flip the X axis when rendering a sprite.

booleanflipY

Flip the Y axis when rendering a sprite.

numberframe

The frame counter of the sprite. Specifies which frame from the current sprite asset to render.

numberheight

The height of the sprite when rendering using 9-Slicing. The width and height are only used when the render mode of the sprite asset is Sliced or Tiled.

number[]layers

An array of layer IDs (Layer#id) to which this sprite should belong.

numberopacity

The opacity of the sprite.

numberspeed

A global speed modifier used when playing sprite animation clips.

Spritesprite

The current sprite.

number, AssetspriteAsset

The asset id or the Asset of the sprite to render. Only works for SPRITETYPE_SIMPLE sprites.

stringtype

The type of the SpriteComponent. Can be:

Defaults to SPRITETYPE_SIMPLE.

numberwidth

The width of the sprite when rendering using 9-Slicing. The width and height are only used when the render mode of the sprite asset is Sliced or Tiled.

Methods

addClip(data)

Creates and adds a new SpriteAnimationClip to the component's clips.

Parameters

dataobject

Data for the new animation clip.

data.namestring

The name of the new animation clip.

data.fpsnumber

Frames per second for the animation clip.

data.loopboolean

Whether to loop the animation clip.

data.spriteAssetnumber, Asset

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

Returns

SpriteAnimationClip

The new clip that was added.

clip(name)

Get an animation clip by name.

Parameters

namestring

The name of the clip.

Returns

SpriteAnimationClip

The clip.

pause()

Pauses the current animation clip.

play(name)

Plays a sprite animation clip by name. If the animation clip is already playing then this will do nothing.

Parameters

namestring

The name of the clip to play.

Returns

SpriteAnimationClip

The clip that started playing.

removeClip(name)

Removes a clip by name.

Parameters

namestring

The name of the animation clip to remove.

resume()

Resumes the current paused animation clip.

stop()

Stops the current animation clip and resets it to the first frame.

Events

end

Fired when an animation clip stops playing because it reached its ending.

Parameters

clipSpriteAnimationClip

The clip that ended.

loop

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

Parameters

clipSpriteAnimationClip

The clip.

pause

Fired when an animation clip is paused.

Parameters

clipSpriteAnimationClip

The clip that was paused.

play

Fired when an animation clip starts playing.

Parameters

clipSpriteAnimationClip

The clip that started playing.

resume

Fired when an animation clip is resumed.

Parameters

clipSpriteAnimationClip

The clip that was resumed.

stop

Fired when an animation clip is stopped.

Parameters

clipSpriteAnimationClip

The clip that was stopped.

Inherited

Properties

booleanenabled

Enables or disables the component.

Entityentity

The Entity that this Component is attached to.

ComponentSystemsystem

The ComponentSystem used to create this Component.

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.