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

  • このエントリーをはてなブックマークに追加
  • 0

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

■使い方

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

ActionScript

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

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

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク