ページ 11

DXライブラリの画像が表示されない件

Posted: 2012年11月30日(金) 19:31
by kurokuro
 visualstudio2008 c++でDXライブラリを利用して以下のコードを記述したところエラーは出ないのですが
画面は真っ黒なまま画像が表示されませんでした。
 フォルダmediaはslnと同じ階層にあり、その中にtestplayer.pngが入っています。
 初歩的なところですがどなたか教えていただけないでしょうか、お願いします。
 

コード:

#include<DxLib.h>

int WINAPI WinMain(HINSTANCE h1,HINSTANCE hp,LPSTR lpC, int nC)
{
	ChangeWindowMode(TRUE);
	if(DxLib_Init()==-1)return-1;
	int ghandle = LoadGraph("media\testplayer.png");
	DrawGraph(0,0,ghandle,TRUE);
	ScreenFlip();
	WaitKey();
	DxLib_End();
	return 0;
}

Re: DXライブラリの画像が表示されない件

Posted: 2012年11月30日(金) 19:34
by kurokuro
すみません!
上のコードで

コード:

int ghandle = LoadGraph("media\testplayer.png");

コード:

int ghandle = LoadGraph("media\\testplayer.png");
の間違いでした。

Re: DXライブラリの画像が表示されない件

Posted: 2012年11月30日(金) 19:50
by nil
裏画面化していないのでScreenFlipは不要かと思います。
画面に出力するか、デバッガを使ってghandleの中身が-1でないことを確かめてください。

Re: DXライブラリの画像が表示されない件

Posted: 2012年12月01日(土) 01:14
by kurokuro
助言の通り、デバッガーで見てみたところ

コード:

media\\testplayer.png
が見つかりません
と出ましたので、画像testplayer.pngが入っているファイルmediaをslnと同じ階層にある
プロジェクト名と同じ名前のファイルに入れてみたところ画像が画面に写りました。
デバッガーを見たことで気づくことができました。
ありがとうございます!

Re: DXライブラリの画像が表示されない件

Posted: 2012年12月01日(土) 09:55
by Dixq (管理人)
パスはプロジェクトのあるフォルダからの相対パスになります。
また、「\\」が面倒であれば「/」でも良いですよ。