第12回 インスタンスの動的生成(12月11日)

本日の課題

  • 動的なインスタンス生成を使ったインタラクティブコンテンツを作成する
  • パブリッシュを行いHTMLにSWFを配置させる
  • サンプル:
  • サンプルソースのダウンロード:091211.fla

インスタンスの動的な生成

  • ムービークリップやボタンのインスタンスはアクションスクリプトでも生成できる
  • インスタンスの数を可変させたり大量のインスタンスを配置する場合に便利
  • 空のインスタンスを作成する方法とライブラリのシンボルから作成する方法とがある
  • アクションスクリプトで生成したインスタンスはアクションスクリプトで削除しないとステージから消えない点に注意する

空のインスタンスを作成する

  • 新規のシンボル挿入のように空のインスタンスを作成できる
  • JPEGやSWFを読込むためのコンテナなどに使われる場合が多い
  • 例:
    // 空のインスタンスを作成してJPEGを読込む
    var load_mc:MovieClip = new MovieClip();
    addChild(load_mc);
    var load_req:URLRequest = new URLRequest("myphoto.jpg");
    var photo_loader:Loader = new Loader();
    photo_loader.load(load_req);
    load_mc.addChild(photo_loader);

ライブラリのシンボルから作成する

  • ライブラリのシンボルからアクションスクリプトでインスタンスを作成するにはリンケージの設定が必要
  • ライブラリパネルでシンボルのリンケージ設定を行いシンボルにクラスを設定する
  • MovieClip()の代わりに設定したクラス名を使うことでインスタンスが生成される
  • 例:
    // 動的にインスタンスを生成してプロパティを設定する
    var snow_mc:snow_class = new snow_class();
    addChild(snow_mc);
    snow_mc.x = 100;
    snow_mc.y = 100;
  • 例:
    // 動的に生成したインスタンスをステージから消す
    removeChild(snow_mc);

評価ポイント

  • リンケージの設定が正しくできているか?(20点)
  • 動的なインスタンス生成と表示が正しくできているか?(20点)
  • 動的なインスタンス生成が効果的に使えているか?(20点)
  • 配列や繰返しが効果的に使えているか?(20点)
  • 効果的なインタラクティブコンテンツが作成できたか?(20点)

DreamweaverまたはFTPソフトなどでサーバにアップロード(PUT)して提出する

Flashファイル(*.fla)、SWFファイル(*.swf)及びHTMLファイルを提出する

ファイル名に全角文字や記号を使わないこと

提出期限は授業日の翌週の火曜日の午後9時まで