Progressoin4 CommandTest2 ErrorHandler

by yd_niku forked from Progressoin4 CommandTest (diff: 25)
♥0 | Line 47 | Modified 2009-10-14 11:52:23 | MIT License
play

ActionScript3 source code

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

// forked from yd_niku's Progressoin4 CommandTest
package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import jp.progression.commands.*;
    import jp.progression.commands.display.*;
    import jp.progression.commands.lists.*;
    import jp.progression.commands.managers.*;
    import jp.progression.commands.media.*;
    import jp.progression.commands.net.*;
    import jp.progression.commands.tweens.*;
    
    public class FlashTest extends Sprite {
        private var ballNormal:Sprite = new Ball(0x993300);
        private var ballShorthand:Sprite = new Ball(0x006699);
        public function FlashTest() {
            errorTest();
        }
        public function errorTest():void{
            var com:Command = new SerialList( null,
                new Prop( ballNormal, { x:150,y:100, alpha:0 } ),
                new AddChild( this, ballNormal),
                new DoTweener( ballNormal, { alpha:1, time:2 } ),
                new Wait( 3 ),
                new DoTweener( ballNormal, { x: 300, y:300, time:2 } ),
                function():void {
                    throw new Error("Error!");
                },
                new Wait( 0,5 ),
                new DoTweener( ballNormal, { alpha: 0, time:5 } ),
                new Trace( "Finish!", ballNormal )
            );
            com.catchError= function( target:Object, e:Error ):void{
                trace( target, e  );
                //エラーを処理できたときは終わったことにする(SerialListは関係なく次へ行く)
                target.executeComplete();
                // エラーが処理できなかったときはSerialListを中断する
                //this.interrupt();
            }
            com.execute();    
        }
    }
}
import flash.display.Sprite;
class Ball extends Sprite{
    public function Ball(color:uint) {
        graphics.beginFill( color );
        graphics.drawCircle( 0, 0, 20  );
        graphics.endFill();
    }
}