In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

code on 2008-12-22

Get Adobe Flash player
by masuda 14 Mar 2009
package {
  import flash.display.Sprite;
  import flash.text.TextField;
  import com.flashdynamix.motion.*;

  [SWF(frameRate="30",backgroundColor="#FFFFFF")]
  public class Main extends Sprite {
    public function Main(){
      /*
      trace代わり
      */
      var tf:TextField = new TextField();
      function print(result:*):void {
          trace(result);
          tf.appendText(result + "\n");
      }
      function printer(result:*):Function {
        return function():void { print(result); };
      }
      addChild(tf);



      /*
      Tweensyでトゥイーン実行中に上書きをどんどん行った際、
      onCompleteの呼び出しは中止されるのか、されないのか????
      */
      var obj:Object = new Sprite();
      print("begin 1");
      Tweensy.to(obj, {x:1}, 3).onComplete = printer("end 1");

      doLater(function():void {
        print("begin 2");
        Tweensy.to(obj, {x:2}, 3).onComplete = printer("end 2");

        doLater(function():void {
          print("begin 3");
          Tweensy.to(obj, {x:3}, 3).onComplete = printer("end 3");

          doLater(function():void {
            print("begin 4");
            Tweensy.to(obj, {x:4}, 3).onComplete = printer("end 4");

            doLater(function():void {
              print("begin 5");
              Tweensy.to(obj, {x:5}, 3).onComplete = printer("end 5");

              doLater(function():void {
                print("begin 6");
                Tweensy.to(obj, {x:6}, 3).onComplete = printer("end 6");
              });
            });
          });
        });
      });
    }
  }
}

import flash.display.Sprite;
import flash.events.Event;

function doLater(callback:Function):void {
  new Sprite().addEventListener("enterFrame", function(evt:Event):void {
    evt.target.removeEventListener(evt.type, arguments.callee);
    callback();
  });
}