マルチメディア技術
- 第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日)
第8回 りんごひろいゲームを作る1[関数とイベントハンドラ](6月9日)
本日の課題
- 関数とイベントハンドラを使って簡単なゲームを作成する
- サンプル:
- サンプルソースのダウンロード:080609.fla
関数
- 同じ処理を何度も使う場合にその処理を関数にまとめる
- 同じプログラムを何度も記述する必要がなくなりメンテナンスがしやすくなる
- 例:
// ランダムな数値を得る関数を定義 function get_random(num1, num2) { r_length = num2 - num1 + 1; return Math.floor(Math.random() * r_length) + num1; } // 関数を呼び出す this._x = get_random(0, 550);
イベントハンドラ
- インスタンスでイベントを処理する場合にはイベントハンドラを定義する
- 処理は関数にまとめておく
- 例:
// インスタンスを一定スピードで動かす関数を定義 function move_mc() { this._y += 20; } // イベントハンドラに関数を指定 this.onEnterFrame = move_mc;
条件分岐
- 常に同じ処理を行うのではなく条件によって処理を変えたい場合に使う
- 基本構文1:条件式がtrue(真)の場合のみ実行式が実行される
if (条件式){ 実行式; } - 例:
if (this._y > 400){ this._y = 0; } - 基本構文2:条件式がtrue(真)の場合実行式1が、false(偽)の場合実行式2が実行される
if (条件式){ 実行式1; } else { 実行式2; } - 例:
if (this._y > 400){ this._y = 0; } else { this._y += 20; }
キーボードを使ったインターフェースその1
- キーが押されているかチェックして押されていれば一定の処理を行う
- カーソルキーでオブジェクトを移動させたい場合などに有効
- 処理は関数にまとめておく
- 例:
// 左カーソルキーが押されていたら // インスタンスのx座標を-10ピクセル動かす if (Key.isDown(Key.LEFT)) { this._x += -10; }
課題評価ポイント
- 関数の記述が正しく行えているか?(20点)
- イベントハンドラの指定が正しくできているか?(20点)
- 条件分岐が正しく使えているか?(20点)
- キーボードを使ったインスタンスの移動が正しくできているか?(20点)
- ゲームとして的確に動作しているか?(20点)
ファイル名に全角文字や記号を使わないこと
提出期限は授業日の週の水曜日の午後9時
ブログパーツ