ページ 11

無題

Posted: 2009年9月14日(月) 10:10
by takerussu
初めて投稿いたします。

ゲーム製作の本を使ってゲームを作成しようとしました。
本に書かれているコードを打ち込んで、ビルドして実行したところ、
画像がうまく表示されません。
実行ファイルと同じフォルダに画像ファイルを置いています。
ただ、実行ファイルをダブルクリックして実行してみたときは画像が表示されます。
なぜ画像が表示されないのか、教えていただけないでしょうか?

OS:WindowsXP
コンパイラ:VisualC++ 2008 express edition
ライブラリ:DXライブラリ
#include"DxLib.h"

int WINAPI WinMain(HINSTANCE hI,HINSTANCE hP,LPSTR lpC,int nC)
{
	ChangeWindowMode(TRUE);			
	if( DxLib_Init() == -1 )		
	{
		return -1 ;					
	}

	int ghandle=LoadGraph("test_jiki.bmp");
	DrawGraph(296,224,ghandle,TRUE);
	
	WaitKey();				
	DxLib_End() ;			
	return 0 ;				 
}
よろしくおねがいいたします。

Re:無題

Posted: 2009年9月14日(月) 10:22
by Mist
Visual Studioから実行する場合は、slnファイルのある場所が起動時のフォルダになります。
Visual Studioの仕様です。

Re:無題

Posted: 2009年9月14日(月) 17:19
by takerussu
ご回答ありがとうございます。
コードの内容は変更せず、
slnファイルのあるフォルダ内に画像を移動して、
プログラムをビルド、実行すればよいということでしょうか?

Re:無題

Posted: 2009年9月14日(月) 18:42
by YuO
プロジェクトのプロパティ - 構成プロパティ - デバッグ - 作業ディレクトリ
を設定する事で,起動時のカレントディレクトリは変更できます。

ただし,カレントディレクトリに依存する事はお勧めできません。
たとえばリリース後ショートカットを作った場合に,
ショートカットの「作業フォルダ」を変更する事で起動時のカレントディレクトリは変更されます。

Re:無題

Posted: 2009年9月14日(月) 21:43
by takerussu
起動時のカレントディレクトリを設定することで、
正しく画像が表示するようになりました。
ありがとうございました。

カレントディレクトリには常に頼らないようにします。