マルチメディア技術
- 第1回 Flash概要(4月14日)
- 第2回 アニメーション基礎(4月21日)
- 第3回 アニメーション応用(4月28日)
- 第4回 シンボルとインスタンス基礎(5月12日)
- 第5回 シンボルとインスタンス応用(5月19日)
- 第6回 もぐらたたきゲーム1[タイムラインの制御](5月26日)
- 第7回 もぐらたたきゲーム2[プロパティの制御](6月2日)
- 第8回 りんごひろいゲームを作る1[関数とイベントハンドラ](6月9日)
- 第9回 りんごひろいゲームを作る2[インスタンスの指定と衝突判定](6月16日)
- 第10回 インベーダーゲームを作る1[インターバルとフラグ](6月23日)
- 第11回 インベーダーゲームを作る2[サウンドの使用1](6月30日)
- 第12回 MP3プレイヤーの作成[サウンドの使用2](7月7日)
第6回 クラスの継承(11月3日)
本日の課題
- クラスの継承を使ったムービーを作成する
- カスタムクラスperspectiveを使い3Dムービーを作成する
- サンプル:
- 教材のダウンロード:081103_k.zip
- サンプルソースのダウンロード:081103_f.zip
クラスの継承
- クラスの機能を変更したり拡張したい場合に元のクラスを編集してしまうと汎用性が損なわれる場合がある
- クラスの継承を利用するとクラスの汎用性を損なわずにクラスの機能を変更したり拡張することができる
- 複数のクラスで機能を共有させたい場合にもクラスの継承が使われる
- 継承するクラスをサブクラス、継承されるクラスをスーパークラスと呼ぶ
- カスタムクラスだけではなくビルトインクラスも継承が可能
ビルトインクラスの継承
- ビルトインクラスの機能を拡張した独自のサブクラスを作成することができる
- MovieClipクラスを拡張するとインスタンスを配置するだけでサブクラスが機能する(教材のsnow.flaを参照)
- MovieClipクラスを継承させたクラスの例:
class fall extends MovieClip { // onEnterFrameハンドラを上書き function onEnterFrame() { this._y += 10; } } - MovieClipクラスを継承させたクラスをシンボルに適用するにはリンケージプロパティのAS2.0クラスの欄にクラス名を記述する
カスタムクラスの継承
- スーパークラスは特別な設定は必要なくどんなクラスでもスーパークラスになることができる
- スーパークラスで定義されているプロパティやfunctionはサブクラス内で自由に使うことができる
- サブクラスでスーパークラスで定義されているfunctionと同じ名前のfunctionを設定した場合はサブクラスのfunctionが適用される
- カスタムクラスperspectiveを継承したサブクラスの例
class ufo extends perspective { var zSpeed:Number = -200; function fly():Void { mc_z += zSpeed; // mc_zはスーパークラスで定義されているプロパティ this.perspectiveView(); // perspectiveViewはスーパークラスで定義されているfunction } }
課題評価ポイント
- クラス定義ファイルが正しく作成できているか?(20点)
- カスタムクラスの継承が正しくできているか?(20点)
- スーパークラスのプロパティやfunctionをサブクラスで正しく使えているか?(20点)
- リンケージシンボルの設定やムービークリップのアタッチが正しくできているか?(20点)
- 効果的なムービーが作成できたか?(20点)
ファイル名に全角文字や記号を使わないこと
Flashファイル(*.fla)とASファイル(*.as)を提出する
提出期限は授業日の週の水曜日の午後9時
ブログパーツ