• Public
  • Public/Protected
  • All

Once a Spine Animation Component has been added to the page from the Component selector, the Animation Component can be passed as a parameter to actions. Code within the action can set properties and call methods on the Animation Component.

var uComps = require('u-components');
var uActions = require('u-actions');
var Action = uActions.Action;
new Action('Spine Animation Example', spineAnimationExample)
.addParameter('Animation', uActions.ParamType.ANIMATION)
function spineAnimationExample(comp) {
var spineComp = uComps.cast.toAnimation(comp);
spineComp.scale = 2;
spineComp.animationPress = 'Loop';
spineComp.loop = true;
spineComp.animationOriginX = 0.2;





alpha: number

The alpha transparency of the Component. Range from 0 to 100.

animation: string

Name of the current animation. - Read Only

var spineComp = uComps.cast.toAnimation(comp);
var currentAnimation = spineComp.animation;
animationDefault: string

The default animation that shows when the component shows.

var spineComp = uComps.cast.toAnimation(comp);
spineComp.animationDefault = 'Idle';
animationOriginX: number

Set the horizontal position.

var spineComp = uComps.cast.toAnimation(comp);
spineComp.animationOriginX = 0.1;
animationOriginY: number

Set the vertical position.

var spineComp = uComps.cast.toAnimation(comp);
spineComp.animationOriginY = 0.3;
animationPress: string

The animation to play when this component is pressed.

var spineComp = uComps.cast.toAnimation(comp);
spineComp.animationPress = 'Bouncing';
animations: string[]

List of animation names contained in the current animation file. - Read Only

new Action('Spine Animation', spineAnimations)
.addParameter('Animation', uActions.ParamType.ANIMATION)
.addParameter('Text', uActions.ParamType.TEXT)
function spineAnimations(comp, comp2) {
var spineComp = uComps.cast.toSpineAnimation(comp);
var textComp = uComps.cast.toText(comp2);
for (var i = 0; i < spineComp.animations.length; i++) {
var animationName = spineComp.animations[i];
textComp.text += animationName + '\r\n'
clippingType: ClippingType

Clip the components contents using one of the options in ClippingType.

components: ComponentList

Access this Component's sub-components.

delay: number

Delay the default animation from playing by a millisecond amount.

var spineComp = uComps.cast.toAnimation(comp);
spineComp.delay = 500;
filename: string

Relative path to the animation .atlas file within the ./animation folder of your project.

var spineComp = uComps.cast.toAnimation(comp);
spineComp.filename = 'presets/umajin_animation.atlas';
formEnabled: boolean

Whether or not is component is enabled for the parent form. Only relevant when inside a Form Component.

formFieldName: string

Label used to identify the field this Component belongs to in a form. Only relevant when inside a Form Component.

height: number

The height of the Component.

length: number

Length of the current animation in milliseconds. - Read Only

var spineComp = uComps.cast.toAnimation(comp);
var len = spineComp.length;
loop: boolean

Should the default animation loop.

var spineComp = uComps.cast.toAnimation(comp);
spineComp.loop = true;

Shape component to be used as a mask. Can be either a Rectangle or Circle Component.

name: string

Name of the component.

parent: Component

Access this Component's parent component.

passedFormValidation: boolean

Whether or not the Component has passed form validation. Only relevant when inside a Form Component.

scale: number

The scale to render the animation at. Default is 1.

var spineComp = uComps.cast.toAnimation(comp);
spineComp.scale = 3;

The current state of the animation - Read Only

var spineComp = uComps.cast.toAnimation(comp);
var currentState = spineComp.state;
time: number

Position of current animation in milliseconds.

var spineComp = uComps.cast.toAnimation(comp);
var currentTime = spineComp.time;
type: string

Type of the component.

uniqueId: string

Unique ID of the component.

visible: boolean

Whether or not the Component is visible.

width: number

The width of the Component.

x: number

The x position of the Component relative to its parent.

y: number

The y position of the Component relative to its parent.


  • emit(eventType: string, data: Object): void
  • Call each callback that is registered for the given eventType, in the order they were registered, passing the supplied data to each.


    • eventType: string

      The type of the event to emit.

    • data: Object

      Data object to pass to each callback.

    Returns void

  • focus(): void
  • Set the keyboard focus to this component.

    new uActions.Action('set focus', setFocus)
    .addParameter('text entry',uActions.ParamType.TEXT_ENTRY)
    function setFocus(textEntry) {

    Returns void

  • get(propertyName: string): any
  • Get a property by name.

    var uActions = require('u-actions');
    new uActions.Action('get fontsize',getFontSize).register();
    function getFontSize() {
    var text1=uPages.current.components.getText('Text 1');


    • propertyName: string

      The name of the property to get.

    Returns any

    Returned value can be of any type, or even null.

  • on(eventType: string, callback: Function): void
  • Adds the callback function to the end of the listeners array for eventType.


    • eventType: string

      The type of the event.

    • callback: Function

      The callback function

    Returns void

  • play(animation: string, loop: boolean): void
  • Play one of the files animations.


    • animation: string

      Name of the animation to play.

    • loop: boolean

      Set the animation to loop, otherwise it will just play once.

      var spineComp = uComps.cast.toAnimation(comp);
      spineComp.play('Loop', false);

    Returns void

  • refresh(): void
  • Refresh this component to force it to be re-rendered, or for its dynamic data to be updated.

    Returns void

  • set(propertyName: string, value: any): void
  • set(data: Object): void
  • Set a properties value by name.

    var uActions = require('u-actions');
    new uActions.Action('set text color',setTextColor).register();
    function setTextColor() {
    uPages.get('follow').components.getText('Text 1').set('font_color','0x0000FFFF');


    • propertyName: string

      The name of the property to set.

    • value: any

      The value to set. Can be of any type.

    Returns void

  • Set a number properties at once.


    • data: Object

      Data object containing property name and value pairs to set on this component.

    Returns void

  • stop(): void
  • Stop the currently playing animation.

    var spineComp = uComps.cast.toAnimation(comp);

    Returns void

  • tween(seconds: number, params: Object, type?: TweenType): void
  • Tween a component property over time.


    • seconds: number

      The number of seconds to tween for.

    • params: Object

      An objects that contains key/value pairs of the properties and values to tween.

    • Optional type: TweenType

      (Optional) Tween type can be any type from "Tween.type"

    Returns void