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

【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用」フォルダに入っています。