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

第4回 Progression3でWebサイトを作る(前編)

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

お待たせしました! いよいよ今回よりProgression3を利用してWebサイトの作成を行っていきます。

今回は非常に簡単なサンプルサイトの作成となりますが,それでも非常に少ない労力でフルFlashのWebサイトが作成できるということを実感していただければ幸いです。

冗長となってしまうのを避けるため,既に用意してある素材を元に制作します。

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

それでは始めてみましょう。

まず,サイト全体をどのような構成にするかを考えます。

この作業は,Progressionのシーン機能をどのような構造にするかを決定するために必要な作業です。

今回は以下のような構造で作成することとします。1項目を1つのシーンとし,前編では子シーンまでを作成します。

図1 今回作成するWEBサイトの構造

今回作成するWEBサイトの構造

キャストクラスの準備

キャストクラスの作成

早速ですが,インデックスシーンを作成していきましょう。そのためにキャストクラスを作成します。今回は簡単に作成するために,各キャストクラスの見た目はFlashのファイルに用意されているムービークリップを使用します。

最初に作成するのは以下のパーツです。

  • 背景
  • ロゴ
  • ボタン

背景とロゴはCastSprite,ボタンはCastButtonを継承したクラスを作成します。

さて,早速キャストクラスを作成していきますが,ここで連載第2回の方法と同様にTemplatesフォルダに入っているテンプレートファイルからコピーをしてキャストクラスを作成します。

TemplatesフォルダのMyCastSprite.asをコピーしてstageフォルダへペーストしてください。

図2 キャストスプライトの作成

図2 キャストスプライトの作成

その後,MyCastSprite.asのファイル名をBackImage.asと名前を変更し,パッケージ名をmyproject.stage,クラス名,コンストラクタをBackImageと変更します。

package myproject.stage 
{
  import jp.progression.casts.*;
  import jp.progression.commands.*;
  import jp.progression.events.*;
  import jp.progression.loader.*;
  import jp.progression.*;
  import jp.progression.scenes.*;

  /*======================================================================*//**
  * BackImage クラス
  */
  public class BackImage extends CastSprite
  {
  
    /*======================================================================*//**
    * コンストラクタ
    */
    public function BackImage( initObject:Object = null ) 
    {
      super( initObject );
    }
以下略

Flashファイルのムービークリップとの関連づけ

これで,クラスファイルの用意はできましたが,このクラスファイルをFlashに用意してあるムービークリップへ関連付ける必要があります。

Flashファイルのライブラリパネル内のstageフォルダにBackImageというムービークリップがありますので,そのムービークリップを右クリックして,メニューの中にあるプロパティを選択するか,ライブラリパネルの下にあるiボタンをクリックしてください。

するとシンボルプロパティというダイアログボックスが開きますので,ActionScriptに書き出し,最初のフレームに書き出しにチェックを入れ,クラスにmyproject.stage.BackImageと記入し,OKを押してください。ここで警告が出てしまう場合はクラスのスペルが間違っていないかをチェックしてください。合っていれば無警告でダイアログが閉じます。

図3 用意されているムービークリップにクラスを関連付ける

図3 用意されているムービークリップにクラスを関連付ける

これで一つのキャストオブジェクトの用意が完了したことになります。

上記と同様に,ロゴを作成してください。ロゴはCastSprite,クラス名はLogo,フラッシュのムービークリップはstageフォルダ内のLogoです。

次にボタンの作成を行います。

ボタンの場合はMyCastButton.asをコピーして作ります。パッケージ名はmyproject.buttonsとしてください。

フラッシュファイルのライブラリの中のbuttonsフォルダに入っているムービークリップに各々上記と同様の設定をします。

著者プロフィール

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

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

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

URLhttp://narayama.heteml.jp/

コメント

  • とおりすがり

    筆者はちゃんと自身の記事に従って動くかどうか確かめるべきですよ!!
    単純な間違い多いっしょ

    まず、ButtonのasファイルはButtonフォルダに入れましょう。

    flaファイルのライブラリにあるBtn_Infoを
    Btn_Informationに変更しましょう。クラスもです。
    asファイル、クラス名もBtn_Information.asで作りましょう。
    Btn_Infoはいりません。

    同様にBtn_Garelly→Btn_Galleryにしましょう。

    筆者の単純なスペルミスですねw


    ボタン画像に書かれてる文字がスペルおかしかったので気づきましたよw
    progression使う以前の問題です、確認は。

    Commented : #2  じぇす (2009/07/23, 14:02)

  • ボタンの設置の部分で躓いています。。。

    初めましてas3.0&プログレッション3.0初心者です。
    ボタンの設置の箇所でムービープレビューすると
    シンタックスエラーが表示されます。
    ボタンのコマンドを消し背景とロゴだけにすると
    エラーもなく表示されるのですが。。。。
    書かれている通りやっているつもりなので、
    どこがおかしいのかもわからず途方にくれて
    おります。。助けてください。
    文法が間違っているらしき所を下記にコピーします。
    よろしくお願いします。

    protected override function _onLoad():void {
    //インスタンスの作成
    var backImage:BackImage=new BackImage();
    var logo:Logo=new Logo();
    var btn_Informaition:Btn_Information=new Btn_Information();
    var btn_Gallery:Btn_Gallery=new Btn_Gallery();
    var btn_About:Btn_About=new Btn_About();
    // 実行したいコマンドを登録します。
    addCommand(
     new Prop(logo,{x:50,y:30}),
     new AddChild(progression.container,backImage),
     new AddChild(progression.container,logo)
     new Prop(btn_Information,{x:50,y:450}),
     new Prop(btn_Gallery,{ x:300,y:450}),
     new Prop(btn_About,{x:550,y:450}),
     new AddChild(progression.container,btn_Information),
     new AddChild(progression.container,btn_Gallery),
     new AddChild(progression.container,btn_About)

    Commented : #1  ニタ (2009/07/03, 21:19)

コメントの記入