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

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

 ※再履修者は,デスクトップPCで演習を行って下さい。
  昨年の2011年度大学推奨ノートPCでの準備の仕方も,一応こちらに用意しています。授業中では無く,個人で行って下さい。
 ※2012年度の1年生で,大学推奨ノートPC以外のノートPCを持ち込んでいる場合,こちらを参考に準備してみて下さい。
 ※以下の作業に入る前に,使用しているWebブラウザが FireFox であることを確認せよ。


 (手順0)まず,実習室据え置きのデスクトップPCで行う場合は,この手順0を行って,準備をすること。
   (この授業ではできるだけ大学必携ノートPC側で実習演習を行うこと。)
   2012年度大学推奨ノートPCの場合は,この手順0をスキップして,手順1へ進むこと。
↓大学実習室デスクトップPC用

    表示されるウインドウで「ファイルを保存する」を選び,「OK」ボタンを押して『TuisDXGameKit.zip』という
    ファイルをダウンロードせよ。

大学実習室デスクトップPCでの作業

     ダウンロードが始まると,FireFoxの「ダウンロードマネージャ」ウィンドウが開き,ダウンロードの経過が
    表示される。ダウンロードが終わったら, 「ダウンロードマネージャ」ウィンドウに表示されている
    『TuisDXGameKit.zip』をダブルクリックして現れるメニューから「フォルダを自動生成」・「解凍先を開く」
    の2箇所にチェックを入れて,「このフォルダに解凍」を選択する。

大学実習室デスクトップPCでの作業

    すると,下図のように『TuisDXGameKit.zip』から抽出されたフォルダ『TuisDXGameKit』の中身が表示される。
    その中身に『TuisDXGame』というフォルダがあることを確認せよ。
    この『TuisDXGameKit』フォルダウインドウは暫く開いたままにしておくこと


 (手順1)『TuisDXGame』フォルダのコピー
大学実習室デスクトップPCでの作業
2012年度・大学推奨ノートPCでの作業

■まず,プロジェクトを置くための場所を開こう。
(1)スタートメニューの「ドキュメント」を選ぶ。
(2)表示されたフォルダの中の「Visual Studio 2010」フォルダを
  ダブルクリック。
(3)表示されたフォルダの中の「Projects」をダブルクリックで開く。
(4)「Projects」フォルダの中身が表示される。このフォルダが,
  Visual Studioで扱うプロジェクトフォルダの置き場である。

(5)この「Projects」フォルダ内に「TuisDXGame」フォルダをコピーする。
(6)コピーした「TuisDXGame」フォルダの中の『TuisDXGame.vcxproj』
  ファイルをダブルクリックで開く。すると,VisualStudio2010が起動
  してプロジェクトが読み込まれる。

■まず,プロジェクトを置くための場所を開こう。
(1)スタートメニューの「ドキュメント」を選ぶ。
(2)表示されたフォルダの中の「Visual Studio 2008」フォルダを
  ダブルクリック。
(3)表示されたフォルダの中の「Projects」をダブルクリックで開く。
(4)「Projects」フォルダの中身が表示される。このフォルダが,
  Visual Studioで扱うプロジェクトフォルダの置き場である。

(5)この「Projects」フォルダ内の「TuisDXGame」フォルダを開く。
(6)その中の『TuisDXGame.vcproj』ファイルをダブルクリックで開く。
  すると,VisualStudio2008が起動してプロジェクトが読み込まれる。





●では,実際にプロジェクトをして実行してみよう。
 ・緑色の円が,ウインドウ(画面)の左上から右下に移動していくのを確認すること。
 ・プログラムを終了するには終了は,エスケープキーを押す。
 ・次回は,このプログラムの内容を解説する。


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