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
system | SpriteComponentSystem | The ComponentSystem that created this Component. |
entity | Entity | The Entity that this Component is attached to. |
Properties
The name of the clip to play automatically when the component is enabled and the clip exists.
Assign sprite to a specific batch group (see BatchGroup). Default is -1 (no group).
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.
The frame counter of the sprite. Specifies which frame from the current sprite asset to render.
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.
The asset id or the Asset of the sprite to render. Only works for SPRITETYPE_SIMPLE sprites.
The type of the SpriteComponent. Can be:
- SPRITETYPE_SIMPLE: The component renders a single frame from a sprite asset.
- SPRITETYPE_ANIMATED: The component can play sprite animation clips.
Defaults to SPRITETYPE_SIMPLE.
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
data | object | Data for the new animation clip. |
data.name | string | The name of the new animation clip. |
data.fps | number | Frames per second for the animation clip. |
data.loop | boolean | Whether to loop the animation clip. |
data.spriteAsset | number, Asset | The asset id or the Asset of the sprite that this clip will play. |
Returns
SpriteAnimationClipThe new clip that was added.
clip(name)
Get an animation clip by name.
Parameters
name | string | The name of the clip. |
Returns
SpriteAnimationClipThe 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
name | string | The name of the clip to play. |
Returns
SpriteAnimationClipThe clip that started playing.
removeClip(name)
Removes a clip by name.
Parameters
name | string | 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
clip | SpriteAnimationClip | The clip that ended. |
loop
Fired when an animation clip reached the end of its current loop.
Parameters
clip | SpriteAnimationClip | The clip. |
pause
Fired when an animation clip is paused.
Parameters
clip | SpriteAnimationClip | The clip that was paused. |
play
Fired when an animation clip starts playing.
Parameters
clip | SpriteAnimationClip | The clip that started playing. |
resume
Fired when an animation clip is resumed.
Parameters
clip | SpriteAnimationClip | The clip that was resumed. |
stop
Fired when an animation clip is stopped.
Parameters
clip | SpriteAnimationClip | The clip that was stopped. |
Inherited
Properties
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
name | string | 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
EventHandlerSelf 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
name | string | The name of the event to test. |
Returns
booleanTrue 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.
var 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
name | string | Name of the event to unbind. |
callback | HandleEventCallback | Function to be unbound. |
scope | object | Scope that was used as the this when the event is fired. |
Returns
EventHandlerSelf 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
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 | object | Object to use as 'this' when the event is fired, defaults to current this. |
Returns
EventHandlerSelf for chaining.
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
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 | object | Object to use as 'this' when the event is fired, defaults to current this. |
Returns
EventHandlerSelf for chaining.