HOME > natural science Laboratory > コンピュータ・シミュレーション講座 > TIPS 集

Visual C++ 2008 でDirectXを利用する方法

文責:遠藤 理平 (2008年10月24日) カテゴリ:TIPS 集(99)

はじめに

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++ でアプリケーションを作成する際には、利用するランタイムライブラリを指定する必要がある。



▲このページのトップNPO法人 natural science トップ

▲このページのトップNPO法人 natural science トップ