シューティングゲーム用のプロジェクトの準備と,シューティングゲームの元になるシンプルなプログラムを動作させてみよう

【ゲーム用プロジェクトのための設定】(最初に一回だけ行う設定作業

 ※以下の作業に入る前に,使用しているWebブラウザが FireFox であることを確認せよ。


 (手順0)ゲーム作成用プロジェクトのダウンロード

    表示されるウインドウで「ファイルを保存する」を選び,「OK」ボタンを押して『TuisDXGameKit.zip』という
    ファイルをダウンロードせよ。下図は『ダウンロード』フォルダにダウンロードした場合である(下図)。

     

    ダウンロードした『TuisDXGameKit.zip』ファイルをエクスプローラで開くと『TuisDXGameKit』フォルダがある。
    

    さらにその中に 『TuisDXGame』というフォルダがあることを確認せよ。
    


 (手順1)『TuisDXGame』フォルダのコピー
大学推奨ノートPCでの作業

(a)手順(0)で確認した『TuisDXGame』フォルダをウィンドウ左端の『ドキュメント』フォルダへコピー。



(b)『ドキュメント』フォルダの中に「TuisDXGame」フォルダがあるはずである。これがこれから利用するゲーム用プロジェクトのフォルダである。

(c)『TuisDXGame』フォルダの中の『TuisDXGame.vcxproj』ファイルをダブルクリックで開く。
すると,以下の(i)〜(iii)いずれかの様になるはずである。

(i) Visual Studio が起動する。この場合はそのまま手順(d)へ進め。
(ii) 「Microsoft Visual Studio Version Selector」というソフトが起動する。この場合は,
  次の(iii)をとばして(iv)へ進め。
(iii) 以下の様なダイアログウィンドウが表示されるので,「Microsoft Visual Studio Version Selector」
  を選ぶ。

(iv)「Microsoft Visual Studio Version Selector」で,使用する Visual Studio のバージョンを指定する(Visual Studio の後ろの西暦番号が一番新しいものを選べば良い)。すると,指定された Visual Studio が起動する。

(d)Visual Studio がサインインを要求してきたら,大学のメールアドレスとパスワードでサインインする。

(e)起動した Visual Studio がプロジェクトファイル『TuisDXGame.vcxproj』からプロジェクトを読み込もうとする。その時,以下の様な「セキュリティー警告」や「ソリューション操作の再ターゲット」という警告が出たら「OK」を押す。

例:セキュリティ警告:OKを押す。


例:ソリューション操作の再ターゲット:OKを押す。



(f)Visual Studio のソリューションエクスプローラーで,「TuisDXGame」プロジェクトが読み込まれていること,「ソース ファイル」フォルダ内に main.cpp というプログラムファイルがあることを確認しよう(下図参照)。






●では,実際にプロジェクトをして実行してみよう。
 ・緑色の円が,ウインドウ(画面)の左上から右下に移動していくのを確認すること(下の動画参照)。

  実行した様子


 ・プログラムを終了するには終了は,エスケープキーを押す。
 ・次回は,このプログラムの内容を解説する。


【DXライブラリについて】
 ・このプログラムは山田巧氏が作成した「DxLib (DXライブラリ)」を一部改造して利用させて頂いています。

  『DXライブラリ置き場』http://homepage2.nifty.com/natupaji/DxLib/

 (この授業で使用する改造版「DXライブラリ」とオリジナルの「DXライブラリ」の違いを知りたい人は,
  下の【授業外記事】を参照して下さい。)


【授業外記事】

 《注意》
  このシューティングゲームに利用されているDXライブラリは,大学の授業用に改造された物です。自分でDXライブラリを利用
  したプログラムを自作したい人は,以下の点に注意して下さい。

   ・オリジナルのDXライブラリを,上記のサイト『DXライブラリ置き場』からダウンロードして使用すること。
   ・DXライブラリ使用のための下準備に関しても上記のサイト『DXライブラリ置き場』の説明に従って行うこと。ただし,
    オリジナルの「DxLib_VC」フォルダは,この授業で使用している「DxLib_VC」フォルダとは別の場所に置くこと。
   ・プロジェクトを作る場合は,上記のサイト『DXライブラリ置き場』の説明に従ってプロジェクトを作成して下さい。
   ・プログラム作成上での違いは,以下の通りです。

 
大学の教材フォルダで
配布したDXライブラリの作法
オリジナルのDXライブラリの作法
mian関数の形
int main( ) {
  
  
  /* 処理を書くところ */

  return 0;
}
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    LPSTR lpCmdLine, int nCmdShow ){

  if( DxLib_Init() == -1 ) return -1;

  /* 処理を書くところ */

  DxLib_End();
  return 0;     
}
DxLib_Init()関数 main関数の冒頭で自動的に呼ばれます。DXライブラリ
の初期化に失敗するとプログラムは終了します。

DXライブラリの機能を使う前に,DxLib_Init()関数を呼び出してDXライブラリの準備
を整える必要があります。これを「DXライブラリの初期化」と言います。だいたい,
上欄の様にmain関数の冒頭で
  if( DxLib_Init() == -1 ) return -1;
として初期化を行います。

DxLib_End()関数 main関数の最後(return 0; の直前)で,自動で呼ばれます。 DXライブラリの機能を使い終わる前に,DxLib_End()関数を呼び出す必要があります。
典型的には上欄のように,main関数の最後( return 0; の直前)などで呼び出します。
その他,プログラムの実行中でも「DXライブラリの機能はもう使わない」という局面
で呼び出すと,DXライブラリに使用されていたメモリなどが解放され,それ以降のプログラムの動作などが軽快になります。
ProcessMessage()関数 CheckHitKey()関数の実行時に,自動で呼び出されます。 Windowsでスムーズにプログラムを実行させるには,このProcessMessage()関数を
1/60秒に1回くらいの頻度で呼び出す必要があります。

※大学で授業用に配布したDXライブラリは,授業に不要なファイルをいくつか削除した上で,オリジナルのDXライブラリの「DxLib.h」というファイルの中身を改造したものになっています。
 つまり,このファイル「DxLib.h」を交換すれば,どちらの作法でプログラムを書くか自由に決められます。
 なお,「DxLib.h」は,「DxLib_VC」フォルダ内にある「プロジェクトに追加すべきファイル_VC用」フォルダに入っています。