Engine API Reference
    Preparing search index...

    Class SpriteComponent

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

    Hierarchy (View Summary)

    Index

    Properties

    entity: Entity

    The Entity that this Component is attached to.

    The ComponentSystem used to create this Component.

    Accessors

    • get autoPlayClip(): string

      Gets the name of the clip to play automatically when the component is enabled.

      Returns string

    • set autoPlayClip(value: string): void

      Sets the name of the clip to play automatically when the component is enabled.

      Parameters

      • value: string

      Returns void

    • get batchGroupId(): number

      Gets the batch group for the sprite.

      Returns number

    • set batchGroupId(value: number): void

      Sets the batch group for the sprite (see BatchGroup). Default is -1 (no group).

      Parameters

      • value: number

      Returns void

    • get clips(): {}

      Gets the dictionary that contains SpriteAnimationClips.

      Returns {}

    • set clips(value: {}): void

      Sets the dictionary that contains SpriteAnimationClips.

      Parameters

      • value: {}

      Returns void

    • get color(): Color

      Gets the color tint of the sprite.

      Returns Color

    • set color(value: Color): void

      Sets the color tint of the sprite.

      Parameters

      Returns void

    • get drawOrder(): number

      Gets the draw order of the component.

      Returns number

    • set drawOrder(value: number): void

      Sets 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.

      Parameters

      • value: number

      Returns void

    • get enabled(): boolean

      Gets the enabled state of the component.

      Returns boolean

    • set enabled(arg: boolean): void

      Sets the enabled state of the component.

      Parameters

      • arg: boolean

      Returns void

    • get flipX(): boolean

      Gets whether to flip the X axis when rendering a sprite.

      Returns boolean

    • set flipX(value: boolean): void

      Sets whether to flip the X axis when rendering a sprite.

      Parameters

      • value: boolean

      Returns void

    • get flipY(): boolean

      Gets whether to flip the Y axis when rendering a sprite.

      Returns boolean

    • set flipY(value: boolean): void

      Sets whether to flip the Y axis when rendering a sprite.

      Parameters

      • value: boolean

      Returns void

    • get frame(): number

      Gets which frame from the current sprite asset to render.

      Returns number

    • set frame(value: number): void

      Sets which frame from the current sprite asset to render.

      Parameters

      • value: number

      Returns void

    • get height(): number

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

      Returns number

    • set height(value: number): void

      Sets 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.

      Parameters

      • value: number

      Returns void

    • get layers(): number[]

      Gets the array of layer IDs (Layer#id) to which this sprite belongs.

      Returns number[]

    • set layers(value: number[]): void

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

      Parameters

      • value: number[]

      Returns void

    • get opacity(): number

      Gets the opacity of the sprite.

      Returns number

    • set opacity(value: number): void

      Sets the opacity of the sprite.

      Parameters

      • value: number

      Returns void

    • get speed(): number

      Gets the global speed modifier used when playing sprite animation clips.

      Returns number

    • set speed(value: number): void

      Sets the global speed modifier used when playing sprite animation clips.

      Parameters

      • value: number

      Returns void

    • get sprite(): Sprite

      Gets the current sprite.

      Returns Sprite

    • set sprite(value: Sprite): void

      Sets the current sprite.

      Parameters

      Returns void

    • get spriteAsset(): number | Asset

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

      Returns number | Asset

    • set spriteAsset(value: number | Asset): void

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

      Parameters

      Returns void

    • get type(): string

      Gets the type of the SpriteComponent.

      Returns string

    • set type(value: string): void

      Sets the type of the SpriteComponent. Can be:

      Defaults to SPRITETYPE_SIMPLE.

      Parameters

      • value: string

      Returns void

    • get width(): number

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

      Returns number

    • set width(value: number): void

      Sets 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.

      Parameters

      • value: number

      Returns void

    Methods

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

      Parameters

      • data: { fps?: number; loop?: boolean; name?: string; spriteAsset?: number | Asset }

        Data for the new animation clip.

        • Optionalfps?: number

          Frames per second for the animation clip.

        • Optionalloop?: boolean

          Whether to loop the animation clip.

        • Optionalname?: string

          The name of the new animation clip.

        • OptionalspriteAsset?: number | Asset

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

      Returns SpriteAnimationClip

      The new clip that was added.

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

      Parameters

      • name: string

        Name of event to fire.

      • Optionalarg1: any

        First argument that is passed to the event handler.

      • Optionalarg2: any

        Second argument that is passed to the event handler.

      • Optionalarg3: any

        Third argument that is passed to the event handler.

      • Optionalarg4: any

        Fourth argument that is passed to the event handler.

      • Optionalarg5: any

        Fifth argument that is passed to the event handler.

      • Optionalarg6: any

        Sixth argument that is passed to the event handler.

      • Optionalarg7: any

        Seventh argument that is passed to the event handler.

      • Optionalarg8: any

        Eighth argument that is passed to the event handler.

      Returns EventHandler

      Self for chaining.

      obj.fire('test', 'This is the message');
      
    • 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.

      obj.on('test', () => {}); // bind an event to 'test'
      obj.hasEvent('test'); // returns true
      obj.hasEvent('hello'); // returns false
    • 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

      • Optionalname: string

        Name of the event to unbind.

      • Optionalcallback: HandleEventCallback

        Function to be unbound.

      • Optionalscope: any

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

      Returns EventHandler

      Self for chaining.

      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
    • 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.

      • Optionalscope: any = ...

        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.

      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();
    • 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.

      • Optionalscope: any = ...

        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.
      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
    • Pauses the current animation clip.

      Returns void

    • 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 SpriteAnimationClip

      The clip that started playing.

    • Removes a clip by name.

      Parameters

      • name: string

        The name of the animation clip to remove.

      Returns void

    • Resumes the current paused animation clip.

      Returns void

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

      Returns void

    Events

    EVENT_END: string = 'end'

    Fired when an animation clip stops playing because it reached its end. The handler is passed the SpriteAnimationClip that ended.

    entity.sprite.on('end', (clip) => {
    console.log(`Animation clip ${clip.name} ended.`);
    });
    EVENT_LOOP: string = 'loop'

    Fired when an animation clip reached the end of its current loop. The handler is passed the SpriteAnimationClip that looped.

    entity.sprite.on('loop', (clip) => {
    console.log(`Animation clip ${clip.name} looped.`);
    });
    EVENT_PAUSE: string = 'pause'

    Fired when an animation clip is paused. The handler is passed the SpriteAnimationClip that was paused.

    entity.sprite.on('pause', (clip) => {
    console.log(`Animation clip ${clip.name} paused.`);
    });
    EVENT_PLAY: string = 'play'

    Fired when an animation clip starts playing. The handler is passed the SpriteAnimationClip that started playing.

    entity.sprite.on('play', (clip) => {
    console.log(`Animation clip ${clip.name} started playing.`);
    });
    EVENT_RESUME: string = 'resume'

    Fired when an animation clip is resumed. The handler is passed the SpriteAnimationClip that was resumed.

    entity.sprite.on('resume', (clip) => {
    console.log(`Animation clip ${clip.name} resumed.`);
    });
    EVENT_STOP: string = 'stop'

    Fired when an animation clip is stopped. The handler is passed the SpriteAnimationClip that was stopped.

    entity.sprite.on('stop', (clip) => {
    console.log(`Animation clip ${clip.name} stopped.`);
    });