AS3でXML画像ギャラリーを構成します。
AS3でXML画像ギャラリーを生成します
前から少しずつUPしていきましたが
配列の処理など必要な処理はここで記述したので今回はすべてのソースコードを公開します
完成品はこういう風に表示されます今回は動く事意外は考えないでコーディングしたのでソースコードは非常に雑で、汎用性は低いです
基本的な流れ
サムネイルが画面左に表示される
サムネイルが総てロードされるとサムネイルがクリック可能になる
サムネイルをクリック
本画像が画面右にクロスフェードで表示される
用意するファイルサムネイル画像のサイズは80×80
本画像のサイズは640×480にしておいてください
サムネイル画像(80×80)本画像(640×480)
サムネイルと本画像のパスを記載したXMLファイル
処理の流れ
XMLファイルをロードする
XMLから読み込む画像の数を判断するサムネイルを画像を格納するSpriteオブジェクトとLoaderオブジェクトを画像数分生成し、各配列に格納する
サムネイル画像を読み込み配列に格納されたSpriteオブジェクトに一つ一つ表示させる
サムネイル画像を総て読み込んだら総てのサムネイルにMouseEventを割り当てる。(クリックすると本画像をロードするイベント)
一度に表示されるサムネイルの数は5つ。
残りのサムネイルはXMLのノード順にマスクの下に表示されている。
5つ以上画像がある際はサムネイルをナビゲートするカーソルを表示する。
カーソルにはMouseEventを割り当てる(クリックするとマスクに隠れているサムネイルを5つ持ってくるイベント)
画像を読み込む際は、前の画像を表示させたままもう一つのLoaderで画像を読み込み前の画像とクロスフェードで表示する形式を取っているのでLoaderオブジェクトは二つ用意しておく。
本画像を表示する2つのLoaderオブジェクトにOPEN,PROGRESS,COMPLETEの三つのイベントを割り当てる。
OPENのイベントハンドラではローディングバー等のローディング画像を表示させる
PROGRESSのイベントハンドラではローディングの進行状況を表示させる
COMPLETEのイベントハンドラではローディング画像をremoveする
読み込んだ本画像を表示させ前の画像のアルファのアルファのをフェードアウト、新たに読み込んだ画像をフェードイン
本画像が表示される以上動作するソースファイルを用意したので宜しければ実際にダウンロードして色々試してみてください画像を用意してXMLに画像パスを書くだけですぐ動作します。
XMLの操作のみで更新できますのでFLASHでパブリッシュせずに
XMLの更新だけでギャラリーが更新されます
ソースファイル非常に雑な作りなのでソースファイルの内容は変更する可能性があります最新の仕様はこのブログにアップしていきたいと思います
続きを読む