【注意】このページは,2012年度に再履修をする学生が2011年度推奨ノートPCで準備を行う為の解説です。
シューティングゲーム用のプロジェクトの準備と,シューティングゲームの元になるシンプルなプログラムを動作させてみよう |
【ゲーム 用プロジェクトのための設定】(最初に一回だけ行う設定作業)
※以下の作業に入る前に,使用しているWebブラウザが FireFox であることを確認せよ。
(手順0)まず,実習環境にあわせて以下のリンクをクリックせよ。
(この授業ではできるだけ大学必携ノートPC側で実習演習を行うこと。)
↓2011年度大学必携ノートPC用 |
表示されるウインドウで「ファイルを保存する」を選び,「OK」ボタンを押して『TuisDXGameKit.zip』という
ファイルをダウンロードせよ。
2011年度大学必携ノートPCでの作業 |
![]() |
(手順1)ダウンロードが始まると,FireFoxの「ダウンロードマネージャ」ウィンドウが開き,ダウンロードの経過が
表示される。ダウンロードが終わったら, 「ダウンロードマネージャ」ウィンドウに表示されている
『TuisDXGameKit.zip』をダブルクリックして現れるメニューから「フォルダを自動生成」・「解凍先を開く」
の2箇所にチェックを入れて,「このフォルダに解凍」を選択する。
2011年度大学必携ノートPCでの作業 |
![]() |
すると,下図のように『TuisDXGameKit.zip』から抽出されたフォルダ『TuisDXGameKit』の中身が表示される。
その中身に「DxLib_VC」・「TuisDXGame」の2個のフォルダがあることを確認せよ。
この『TuisDXGameKit』フォルダウインドウは暫く開いたままにしておくこと。
2011年度大学必携ノートPCでの作業 |
![]() |
(手順2)『DxLib_VC』フォルダのコピー
2011年度大学必携ノートPCでの作業 |
(1)パソコン画面左下のスタートメニューから「エクスプローラ」を選択。 (2)すると, ファイルを閲覧(ブラウズ)するためのウィンドウが開く。 (3)そのウィンドウの左欄にある「ドキュメント」の中に,先ほどひらいておいた「TuisDXGmaeKit」 フォルダ内にある「DxLib_VC」フォルダをコピーする。 |
![]() |
2011年度大学必携ノートPCでの作業 |
■まず,プロジェクトを置くための場所を開こう。 |
■次に,「Projects」フォルダ内に「TuisDXGame」フォルダをコピーする。 |
![]() |
(手順4)プロジェクトを開く
その中の『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() ) return -1;
/* 処理を書くところ */
DxLib_End();
return 0;
} |
DxLib_Init()関数 | main関数の冒頭で自動的に呼ばれます。DXライブラリ の初期化に失敗するとプログラムは終了します。 |
DXライブラリの機能を使う前に,DxLib_Init()関数を呼び出してDXライブラリの準備 |
DxLib_End()関数 | main関数の最後(return 0; の直前)で,自動で呼ばれます。 | DXライブラリの機能を使い終わる前に,DxLib_End()関数を呼び出す必要があります。 典型的には上欄のように,main関数の最後( return 0; の直前)などで呼び出します。 その他,プログラムの実行中でも「DXライブラリの機能はもう使わない」という局面 で呼び出すと,DXライブラリに使用されていたメモリなどが解放され,それ以降のプログラムの動作などが軽快になります。 |
ProcessMessage()関数 | CheckHitKey()関数の実行時に,自動で呼び出されます。 | Windowsでスムーズにプログラムを実行させるには,このProcessMessage()関数を 1/60秒に1回くらいの頻度で呼び出す必要があります。 |
※大学で授業用に配布したDXライブラリは,授業に不要なファイルをいくつか削除した上で,オリジナルのDXライブラリの「DxLib.h」というファイルの中身を改造したものになっています。 |