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

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

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

いよいよこの集中連載も最終回となりました。今回は難易度が上がりますので,解説を読んだだけでは分からない方はサンプルソースコードをじっくり眺めて,自分なりにいじってみてください。

また,前回まではチュートリアル形式で進めさせていただきましたが,今回はチュートリアル形式で進めるにはあまりにもボリュームがありすぎるため,あらかじめ用意されたプロジェクトファイルに対しての説明という形式で進めさせていただきます。

以下より,元素材となるプロジェクトファイル一式をダウンロードしてください。

今回配布する完成版のプロジェクトファイルを見ながら,前回作成したプロジェクトファイルを完成させてください。全くのコピーでもかまいません。

自分で手を動かすことがなにより最大のプラクティスになります。もちろん,もっと良い方法を思いついたらどんどん書き換えていってかまいません。

Informationシーンの作りこみ

シーンの遷移処理

早速プロジェクトファイルを見てください。かなりクラスファイルや処理の記述が増えていて驚くかもしれません。

最終的なファイルはinformationとgalleryの子シーン,トップのシーンから見たら孫にあたるシーンを作成してあります。

図1 最終的なクラスの構造

図1 最終的なクラスの構造

ここで,informationとgalleryのシーンのクラスファイル,InformationScene.asとGalleryScene.asを見てください。

_onInit,_onGotoメソッドの記述が一切無くなり,_onLoad,_onUnloadメソッドへ移動しています。

これは、なぜでしょうか?

_onInit,_onGotoメソッドに記述したままにしてみると分かるのですが,そのままですと孫シーンの遷移時に表示がおかしくなる場合が生じます。InformationSceneの初期化処理や終了処理が実行されないケースがあるためです。

今回のサイトは直接「孫シーン」を指定する場合や,「孫シーン」から「孫シーンの親では無い子シーン」という遷移が発生します。図で説明すると以下のような遷移です。

図2 孫シーンの移動

図2 孫シーンの移動

この場合,InformationSceneの_onLoad,_onUnloadメソッドへ記述することで,孫シーンが遷移処理をする場合親であるInformationSceneの処理を経由させることができます。連載第4回にシーン遷移の際の図を掲載してありますので,そちらを参照してください。

このシーン遷移処理の動作がProgressionでシーンを利用する上での大きなポイントです。通常このような動作をさせる物を作成しようとした場合,少し考える必要が生じますが,Progressionであれば特に悩む必要も無く実装できてしまうのです。

著者プロフィール

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

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

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

URLhttp://narayama.heteml.jp/

コメント

  • プロジェクトファイルが・・・

    ダウンロードして、解凍しても中身を確認できない。。

    Commented : #1  訪問者 (2009/12/28, 19:34)

コメントの記入