[BetweenAS3] removeFromParent know-how

by clockmaker
BetweenAS3で最後のITweenが実行されないと思ったら…
♥0 | Line 33 | Modified 2010-07-16 00:05:42 | MIT License
play

ActionScript3 source code

/**
 * Copyright clockmaker ( http://wonderfl.net/user/clockmaker )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/klqp
 */

/**
 * BetweenAS3で最後のITweenが実行されないと思ったら…
 */
package
{
  import flash.display.Sprite;
  import org.libspark.betweenas3.BetweenAS3;

  [SWF(width=465, height=465, frameRate=60)]
  public class Main extends Sprite
  {
    public function Main()
    {
      // removeFromParentが実行されない!?
      var shapeA:Sprite = new Sprite();
      shapeA.graphics.beginFill(0xFF0000);
      shapeA.graphics.drawCircle(100, 100, 100);

      BetweenAS3.serial(
        BetweenAS3.addChild(shapeA, this),
        BetweenAS3.delay(
          BetweenAS3.removeFromParent(shapeA),
          3)
        )
        .gotoAndStop(3 + 0.1); // durationの最後を指定

      // 解決方法
      var shapeB:Sprite = new Sprite();
      shapeB.graphics.beginFill(0x00FF00);
      shapeB.graphics.drawCircle(300, 100, 100);

      BetweenAS3.serial(
        BetweenAS3.addChild(shapeB, this),
        BetweenAS3.delay(
          BetweenAS3.removeFromParent(shapeB),
          3),
        BetweenAS3.func(function():void{}) // ダミーのITweenを挟む
        )
        .gotoAndStop(3 + 0.1); // durationの最後を指定
    }
  }
}