Chain

Source code

class MyGame extends GameObject {
  constructor() {
    super();

    // Set auto resizeable stage
    Black.stage.scaleMode = StageScaleMode.LETTERBOX;
    Black.stage.setSize(500, 500);

    var assets = new AssetManager();
    assets.enqueueImage('car1', '/assets/examples/popart_car_red.png');
    assets.enqueueImage('car2', '/assets/examples/popart_car_blue.png');
    assets.on('complete', this.onAssetsLoaded, this);
    assets.loadQueue();
  }

  onAssetsLoaded(m) {
    // Create two sprites
    let car1 = this.createCar('car1', 900, 250);
    let car2 = this.createCar('car2', 500, 250);

    // Create two tweens
    let moveTween1 = new Tween({ x: 450 }, 1.5, { ease: Ease.exponentialIn });

    // Disable play tween on added to GameObject by set playOnAdded option to false
    let moveTween2 = new Tween({ x: 100 }, 1, { playOnAdded: false, ease: Ease.exponentialOut });

    // Chain second to first so it'll play on first complete
    moveTween1.chain(moveTween2);

    // Add tweens to sprites
    car1.addComponent(moveTween1);
    car2.addComponent(moveTween2);
  }

  createCar(name, x, y) {
    let sprite = new Sprite(name);

    sprite.scaleX = -1;
    sprite.x = x - sprite.width;
    sprite.y = y;
    sprite.alignPivot();

    return this.addChild(sprite);
  }
}

var engine = new Engine('game-container', MyGame, CanvasDriver);
engine.start();