授業計画 |
| 回数 |
学習目標 |
学習項目 |
| 1 |
・プロジェクトをビルドして実行ファイルを作成出来る
・メインループ、FPSの概念を理解する |
開発環境 VisualStudio を用いたビルド方法
メインループの役割、
デルタタイム |
| 【理解度確認】実習課題の成果物によって確認する |
| 2 |
画像ファイルをテクスチャとして読み込める
テクスチャを設定した2Dスプライトをゲーム画面に描画出来る |
画像ファイルの読み込み方法(Textureクラスの使い方)
2Dスプライトの描画方法(Spriteクラスの使い方) |
| 【理解度確認】実習課題の成果物によって確認する |
| 3 |
ゲーム画面上の2Dスプライトをキー入力よって移動させることが出来る |
キーボードからの入力の取得方法
クラスの定義方法(シューティングゲームにおける自機クラスの作成) |
| 【理解度確認】実習課題の成果物によって確認する |
| 4 |
2次元ベクトルを座標及び移動量として用いることが出来る |
二次元ベクトル(足し算・引き算・スカラー倍・正規化)
Vector2クラスの使い方
コントローラからの入力の取得方法 |
| 【理解度確認】実習課題の成果物によって確認する |
| 5 |
ゲーム中にオブジェクトを生成することが出来る |
std::vectorを用いたオブジェクトプールと管理クラス
自機から弾を生成する |
| 【理解度確認】実習課題の成果物によって確認する |
| 6 |
コールバック関数の使い方がわかる
衝突イベントを処理出来る |
Colliderクラスの使用方法
衝突イベントコールバックの使用方法(敵と衝突した弾を消す) |
| 【理解度確認】実習課題の成果物によって確認する |
| 7 |
UV座標を用いたアニメーションを作ることが出来る
ブレンドモードを設定することが出来る |
Animationクラスの使い方
Spriteの機能SetBlendの使い方
敵を破壊した際に爆発エフェクトを発生させる |
| 【理解度確認】実習課題の成果物によって確認する |
| 8 |
簡単な状態制御が出来る |
enum classとswitch-caseを用いた有限状態機械
途中で移動方向が変わる敵を作る |
| 【理解度確認】実習課題の成果物によって確認する |
| 9 |
プログラム外のファイルを用いてゲームの内容を変化させることが出来る |
CSVファイルの読み込み方法(敵の配置データを読み込む)
構造体配列(new/delete)
ウェーブの管理クラスを作る |
| 【理解度確認】実習課題の成果物によって確認する |
| 10 |
UVスクロールを活用出来る
オブジェクトの移動範囲を制限出来る |
UVスクロールを利用してエンドレスの背景を作る
移動範囲の制御と位置の調整方法 |
| 【理解度確認】実習課題の成果物によって確認する |
| 11 |
音楽と効果音をゲームに組み込むことが出来る |
サウンドファイルを読み込み、再生する
|
| 【理解度確認】実習課題の成果物によって確認する |
| 12 |
ゲームに複数のシーンを組み込むことが出来る |
シーンの概念、シーン繊維の作り方について
タイトル/インゲーム/ゲームクリア/ゲームオーバーの各シーンを作る |
| 【理解度確認】実習課題の成果物によって確認する |
| 13 |
クラスの継承を利用することが出来る |
public継承,virtual,override
前回で作成した各シーンについて、共通の基底クラスを作成する |
| 【理解度確認】実習課題の成果物によって確認する |
| 14 |
ゲームのプレイデータをファイルに書き出すことが出来る |
ゲームのプレイデータ(スコア)をゲーム内で記録する
スコアのトップ10までのデータをファイルに記録し、ゲーム起動時に読み込む
スコアのソート |
| 【理解度確認】実習課題の成果物によって確認する |
| 15 |
複数のステージを作成することが出来る |
ステージマスターデータを作る
ステージ選択シーンを追加する |
| 【理解度確認】実習課題の成果物によって確認する |