Visual C++ 2008 でDirectXを利用する方法
はじめに
DirectXを VisualC++ 2008 Express Edition で利用するための方法を説明する。 本稿では、VisualC++ 2008 Express Edition がすでにインストールされていることを想定している。
DXライブラリのダウンロード
山田巧氏の「DXライブラリ」をウェブサイトから最新版をダウンロードする。最新バージョンはVer 2.24cである(2008年10月)。ダウンロードされた実行ファイル(拡張子「exe」)をダブルクリックし、デスクトップ上に展開する(フォルダ名「DxLib_VC」)。 生成されたフォルダの中にある、フォルダ名「プロジェクトに追加すべきファイル_VC用」を任意の分かり易い名前に変更する(本稿では「DX」)。 フォルダごと任意の場所に移動する(本稿の例では「F:¥Visual C++2008¥」)。
Visual C++ 2008での設定
DXライブラリで利用されている関数を利用する場合、コンパイル時にライブラリを参照する必要がある。
VisualC++ 2008 Express Edition の設定画面で、PC上のDXライブラリの場所を指定することができる。
ステップ1
図1.VisualC++ 2008 Express Editionのメニュー「ツール」→「オプション」
VisualC++ 2008 Express Editionのメニュー「ツール」→「オプション」をクリックする(図\ref{fig:directX1.eps})。
ステップ2
図2.VisualC++ 2008 Express Editionの「オプション」画面
表示されたVisualC++ 2008 Express Editionの「オプション」の、左メニューから「プロジェクト及びソルーション」→「VC++ディレクトリ」をクリックする。(「VC++ディレクトリ」が表示されていない場合、「プロジェクト及びソルーション」の左にある小さな三角をクリックすることで表示される。)
図2で示してあるとおり、①「VC++ディレクトリ」→②「インクルードファイル」を選択する。③をクリックし、枠の中にDXライブラリのパスを入力することで、④の一覧にパスが追加される。
ステップ3
図3.VisualC++ 2008 Express Editionの「オプション」画面
図3で示してあるとおり、ステップ2で選択した「インクルードファイル」を「ライブラリ」に変更する。
ステップ2のときと同様に、DXライブラリのパスを追加する。
プロジェクトの作成
図4.プロジェクトの作成
図4で示してあるとおり、VisualC++ 2008 Express Edition の「ファイル」→「新規作成」→「プロジェクト」をクリックする。
図5.プロジェクトの設定
図5で示してあるとおり、
①プロジェクトの種類を「Win32」、
②テンプレートの種類を「Win32プロジェクト」、
任意の「プロジェクト名」と「ソルーション名」を入力する(③、④)。
⑤「ソルーションのディレクトリの作成」のチェックがついていることを確認する。
図6.アプリケーションの設定
図6で示してあるとおり、
①「アプリケーションの設定」をクリックする。
②「アプリケーションの種類」を「WINDOWSアプリケーション」、
③「追加のオプション」で必ず「空のプロジェクト」にチェックを入れる(これを忘れやすい)。
以上で新規プロジェクトの作成が完了する。
C++のプログラムファイルの作成
図7.新しい項目の追加}
作成したプロジェクトにC++のプログラムファイルを新規作成・追加する。
図7で図示してあるとおり、①「プロジェクト名」を左クリック後、②「追加」→③「新しい項目」をクリックする。
図8.C++のプログラムファイルの作成
図8で図示してあるとおり、①新規ファイルのテンプレートを「C++」、②「ファイル名」に任意の名前を付ける(本稿では「main.cpp」)。
以上で、プロジェクトにC++のプログラムファイルが作成することができる。
プロジェクトの設定
DXライブラリを使用するために、VisualC++ 2008 Express Editionの「プロジェクト」→「プロパティ」をクリックする(図9)。
図9.プロジェクトの設定
「プロパティ ページ」の左メニューを図10のとおり、 ②「構成プロパティ」→「全般」を選択後、 右列の③「文字セット」をクリックするとプルダウンメニューが表示される。 ④「マルチバイト文字セットを使用する」を選択する。
図10
「プロパティ ページ」の左メニューを図10のとおり、
②「構成プロパティ」→③「C/C++」→④「コード生成」を選択後、
右列の「ランタイムライブラリ」をクリックするとプルダウンメニューが表示される(⑤)。
⑥「マルチスレッドデバック(/MTd)」を選択する。
図11
次に、図12のとおり、左上の「構成」を「Rerease」を選択し(①)、
前記と同様に、②「構成プロパティ」→③「C/C++」→④「コード生成」を選択後、
右列の「ランタイムライブラリ」をクリックするとプルダウンメニューが表示される(⑤)。
今度は、⑥「マルチスレッド(/MT)」を選択する。
図12
以上でプロジェクトの設定は完了である。
新しくプロジェクトを作成する度に、設定する必要がある。
C++プログラムのサンプルソース
図13.C++プログラム
新しく作成したC++プログラムファイルに、サンプルプログラムを貼り付け、図13の上にある「デバック開始」ボタンをクリックし、デバックを実行する。
#include "DxLib.h" // プログラムは WinMain から始まります int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode(TRUE); if( DxLib_Init() == -1 ) return -1 ; // DXライブラリ初期化処理 int fhandle = CreateFontToHandle("MS 明朝",32, 9, DX_FONTTYPE_EDGE); int x=270, y= 190; SetDrawScreen(DX_SCREEN_BACK); //メインループ while(ProcessMessage()==0 && CheckHitKey(KEY_INPUT_ESCAPE)==0){ ClsDrawScreen(); int key = GetJoypadInputState(DX_INPUT_KEY_PAD1); if(key & PAD_INPUT_UP) y= y-8; if(key & PAD_INPUT_DOWN) y= y+8; if(key & PAD_INPUT_LEFT) x= x-8; if(key & PAD_INPUT_RIGHT) x= x+8; DrawBox(x,y,x+100,y+100, GetColor(255,0,0),TRUE); printfDx("(%d,%d)\n",x,y); int col= GetColor(255,255,255); DrawStringToHandle(300,300,"おはよう",col, fhandle); ScreenFlip(); } DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 }
図14.実行
図14のとおり、実行後できれば完了。
キーボードの前後・左右を押すと、真ん中の■が移動する。
備考
ランタイムライブラリとは
ランタイムライブラリとは、プログラムを実行するために必要なライブラリのことで、VisualC++ 2008 Express Editionで、通常利用可能なライブラリは4種類である。Visual C++ でアプリケーションを作成する際には、利用するランタイムライブラリを指定する必要がある。