Mission6: 敵キャラの表示。


【ステップ1】

 Mission5 を改造する。  今度は、GameMain.cpp を改造する。

 本 Mission で改造するファイルは、GameMain.cpp のみである。

 まぁとりあえず始めよう。

 左のようにワークスペースから、GameMain.cpp を開く。


【ステップ2 プログラム改造】

【ステップ2−1 冒頭部分を改造1】
改造前 改造後
リスト1a リスト1b

解説
GameMain.cpp の冒頭部分に、改造前(リスト1a)
のような部分があるはずだ。

ここを、改造後(リスト1b)のように改造する。



【ステップ2−2 グローバル変数の宣言】
改造前 改造後
リスト2a リスト2b

解説
ここも、改造前(リスト1a)の部分に、
改造後(リスト2b)のように一行書き足す。



【ステップ2−3 InitD3D を改造】
改造前 改造後
リスト3a リスト3b

解説
Mission5 で宣言したクラス(CMeshTest)を
ここで構築する。



【ステップ2−4 UpdateScreen を改造1】
改造前 改造後
リスト4a リスト4b

解説
UpdateScreen 関数内で、
CMeshTest のアニメーション関数を呼び出す。

GetElapsedTime および GetElapsedTimeAndReset は、
HighResTimer.cpp の中で宣言されている、
クラス CHighResTimer の関数であり、
経過時間測定を行っている。。

単位は、60分の1秒を1.0 としていて、
返り値は、float 型である。



【ステップ2−5 UpdateScreen を改造2】
改造前 改造後
リスト5a リスト5b

解説
UpdateScreen 関数内で、
CMeshTest のレンダリング関数を呼び出す。

これでキャラが表示される。



【ステップ2−6 InitDeviceObjects を改造】
改造前 改造後
リスト6a リスト6b

解説
GameMain.cpp の関数、InitDeviceObjects から
CMeshTest クラスの関数 InitDeviceObjects を呼び出す。

デバイス依存のメモリ上のオブジェクトが準備される。

具体的にはメモリ上に頂点データが構築される。




【ステップ2−7 RestoreDeviceObjects を改造】
改造前
リスト7a

改造後
リスト7b

解説
GameMain.cpp の関数、RestoreDeviceObjects から
CMeshTest クラスの関数 RestoreDeviceObjects を呼び出す。

デバイス依存のデバイス上のオブジェクトが準備される。

具体的にはビデオカード上にテクスチャーデータが構築される。




【ステップ2−8 InvalidateDeviceObjects を改造】
改造前 改造後
リスト8a リスト8b

解説
GameMain.cpp の関数、InvalidateDeviceObjects から
CMeshTest クラスの関数 InvalidateDeviceObjects を呼び出す。

デバイス依存のデバイス上のオブジェクトが消去される。

具体的にはビデオカード上のテクスチャーが廃棄される。




【ステップ2−9 DeleteDeviceObjects を改造】
改造前 改造後
リスト9a リスト9b

解説
GameMain.cpp の関数、DeleteDeviceObjects から
CMeshTest クラスの関数 DeleteDeviceObjects を呼び出す。

デバイス依存のメモリ上のオブジェクトが消去される。

具体的にはメモリ上の頂点データが廃棄される。




【ステップ2−10 ReleaseD3D を改造】
改造前 改造後
リスト10a リスト10b

解説
GameMain.cpp の関数、ReleaseD3D の中で、
CMeshTest クラスのグローバル変数を廃棄する。




【ステップ3 ビルド・実行】



こんな風になったら完了。

戻る