pc.SpriteComponent
Extends: pc.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 pc.BatchGroup). |
| clips | A dictionary that contains pc.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 (pc.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 id of the sprite asset 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 pc.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)
Parameters
| system | pc.SpriteComponentSystem | The ComponentSystem that created this Component. |
| entity | pc.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 pc.BatchGroup). Default value 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.
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 id of the sprite asset to render. Only works for pc.SPRITETYPE_SIMPLE types.
The type of the SpriteComponent. Can be:
- pc.SPRITETYPE_SIMPLE: The component renders a single frame from a sprite asset.
- pc.SPRITETYPE_ANIMATED: The component can play sprite animation clips.
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 pc.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 | object | Whether to loop the animation clip. |
| data.spriteAsset | number | The id of the sprite asset that this clip will play. |
Returns
pc.SpriteAnimationClipThe new clip that was added.
clip(name)
Get an animation clip by name.
Parameters
| name | string | The name of the clip. |
Returns
pc.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
pc.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 | pc.SpriteAnimationClip | The clip that ended. |
loop
Fired when an animation clip reached the end of its current loop.
Parameters
| clip | pc.SpriteAnimationClip | The clip. |
pause
Fired when an animation clip is paused.
Parameters
| clip | pc.SpriteAnimationClip | The clip that was paused. |
play
Fired when an animation clip starts playing.
Parameters
| clip | pc.SpriteAnimationClip | The clip that started playing. |
resume
Fired when an animation clip is resumed.
Parameters
| clip | pc.SpriteAnimationClip | The clip that was resumed. |
stop
Fired when an animation clip is stopped.
Parameters
| clip | pc.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 | object | 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
pc.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 hander functions, called 'test' with scope this
Parameters
| name | string | Name of the event to unbind. |
| callback | pc.callbacks.HandleEvent | Function to be unbound. |
| scope | object | Scope that was used as the this when the event is fired. |
Returns
pc.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 | pc.callbacks.HandleEvent | 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
pc.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 | pc.callbacks.HandleEvent | 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
pc.EventHandlerSelf for chaining.