Flashのフレームワーク「Progression3」を始めてみよう!

第5回 Progression3でWebサイトを作る(後編)

この記事を読むのに必要な時間:およそ 8.5 分

CastImageLoaderで画像を表示

画像を表示しているBtn_Imageクラスを見てみましょう。

public function Btn_Image( initObject:Object = null ) 
{
  super( initObject );
  if (initObject.imageUrl != null) {
    //CastImageLoaderインスタンスを作成(今回は普通のLoaderクラスでもかまいません)
    var loader = new CastImageLoader();
    var urlReq:URLRequest = new URLRequest(initObject.imageUrl);
    loader.addEventListener(CastEvent.CAST_LOAD_COMPLETE, loadCompHandler);
    loader.load(urlReq);			}
}

//イメージ読み込み完了のハンドラ
private function loadCompHandler(e:CastEvent):void 
{
  var loader:CastImageLoader = CastImageLoader(e.target);
  loader.removeEventListener(CastEvent.CAST_LOAD_COMPLETE, loadCompHandler);
  //表示リストに追加するコマンドの作成
  var sList:SerialList = new SerialList();
  loader.width = 600;
  loader.height = 450;
  sList.addCommand(
    new Prop(loader, { x:100, y:50 } ), 
    new AddChild(this, loader)
  );
  sList.execute();
}

今回はCastImageLoaderクラスを使用して画像を表示させています。

このCastImageLoaderクラスも他のキャストオブジェクト同様に_onCastAddedや_onCastRemoved等のメソッドを持っていますのでコンテナに追加した際の処理等を記述することができます。

CastImageLoaderクラスは、width、heightのプロパティを指定する事により、指定したサイズへ自動的にリサイズを行います。

サムネイルを表示させているBtn_Thumbnailクラスも同様の処理となっていますので,サイズの設定を外に出して,同一クラス化するとよりクラスの構造がすっきりすると思います。

これでGalleryシーン側の説明は終了です。好きな写真に入れ替えたり,シーンを追加したり,もっと異なる書き方にしたりして改造してみてください。

図3 完成したGalleryシーン

図3 完成したGalleryシーン

終わりに

これでサンプルサイトの作成を一旦の完成としたいと思います。フラッシュ読み込み時のプリローダーを作成していませんが,そちらは公式サイトの解説を参照してください。

いかがでしたでしょうか? Progressionフレームワークは非常に柔軟に作られており,正直何をどこまで説明すべきなのか悩みながら,模索しながら書かせていただきましたが,結局Progressionの機能のほんの一部の紹介に留まらざるを得ませんでした。

Progressionはユーザーの力によってさらに進化する可能性を秘めています。既に非常に素晴らしい出来のProgressionの拡張機能がユーザーの方によって作成され,公開されています。

フォーラムも用意されておりますので,どんどん疑問や質問を投稿すると良いと思います。私も可能な限り協力させていただく所存でおります。

それでは最後までお付き合いいただき,ありがとうございました。

Progression3.1登場!!

12月19日にAdobeFlashCS4が発売されました。それと同時にProgressionもAdobeFlashCS4対応版のバージョン3.1がリリースされています※4⁠。

図4 Progression3.1のプロジェクトパネル

図4 Progression3.1のプロジェクトパネル

大きな機能の変更はありませんが,出力という項目が増え,書き出し時のFlashのバージョンを選択できるようになりました。

ターゲットプレイヤーをFlashPlayer10,FlashPlayer9,AIR※5から選択できるようになっています。

また,ProgressionのライブラリをSWCとして書き出す機能が追加され,その機能を利用する事によりプロジェクト書き出しの大幅な高速化が実現されています。

ぜひProgressionをアップデートして新機能を体験してみてください。

※4
AdobeFlashCS3にも対応しています。
※5
AdobeFlashCS4の場合はAIR1.5対応にアップデートする事で,AIRを選択出来る様になります。

著者プロフィール

楢山哲弘(ならやまのりひろ)

3年前に上京してきた北海道出身のFlasher。

開発スピードを上げるため,Progressionに傾倒中。そのため,ブログではProgressionについての言及が多くなっている。

URLhttp://narayama.heteml.jp/