IfElseコマンドとForLoopコマンドを元に、WhileLoopコマンドを作ってみた。

このエントリをはてなブックマークに追加このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加このエントリをkwoutに追加
2008年4月21日 月曜日21:14:24

Progression Frameworkで、条件を満たすまでコマンドを繰り返し実行してくれる「WhileLoop」コマンドがあれば便利だろうなと思い、IfElseの条件関数に関する処理と、ForLoopの繰り返しテクニックを元に実装してみた。主な目的はLoadURLコマンドでデータがロードし終わるまでTweenerを動かし続けたいと言う考えから来ていて、その他の処理に関するテストは一切してないけど。

■使い方

今回は、あらかじめ作成しておいた「LoadURLById」コマンド(error関数つき)を使って、ロード中にTweenerでアニメーションしながら待つと言う処理を書いてみた。

new ParallelList(0,
    new LoadURLById("id1", new URLRequest("http://~~")).error(
        function():void {
            //エラー時はシーン移動
            new Goto(new SceneId("/index/load_error")).execute();//エラー時用のシーン「/index/load_error」に移動
        }),
    new WhileLoop(function():Boolean {
            var data:Object;
            data = LoadURLById.getDataById("id1");
            trace(data);
            return isCurrent && data == null;//データの読み込み完了時及びシーン移動時にfalseになり、ループ終了
        },
        new SerialList(0,
            new DoTweener(messageField, { alpha:1, time:0.75, transition:Equations.easeInQuad } ),
            new DoTweener(messageField, { alpha:0, time:0.75, transition:Equations.easeInOutQuad } )
        )
    )
)

途中に出てくるmessageFieldは、「NOW LOADING」を表示するCastSpriteオブジェクトです。

  • ページ:
  • 1
  • 2

トラックバック URL :

コメントをどうぞ

HTML convert time: 0.623 sec.