ページ 11

DXライブラリの描画ができない

Posted: 2015年4月04日(土) 13:00
by Jei-r
こんにちは。初めて質問させていただきます。
C言語は入門書を一通り勉強しました。

「新・ゲームプログラミングの館」(http://dixq.net/g/)でゲームプログラミングの練習をしていたのですが
DxLib.hのLoadGraphScreen関数でエラーになります。

コードとしては、上記サイトの1.3章をベースに、
DxLib_InitとLoadGraphScreenにエラー判定を付けて

コード:

#include "DxLib.h"

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){
	ChangeWindowMode(TRUE);
	
	int init;
	init = DxLib_Init();		// DXライブラリ初期化処理
	if(init==-1)	exit(-1);   

	if(LoadGraphScreen(50, 100, "img\1.png", TRUE)==-1)		exit(-2); // 画像を描画する

	WaitKey();      // キー入力待ち
	DxLib_End();    // DXライブラリ終了処理
	return 0;
}
と書きました。

デバッグウインドウには
プログラム '[1064] GameProg_2012.exe' はコード -2 (0xfffffffe) で終了しました。
とあるのでLoadGraphScreenで問題があるようです。

描画を成功させるにはどうしたらいいでしょうか。

OS:windows 8.1
コンパイラ:VC++2013 for windows desktop(express edition)

使用しているのはDXライブラリです。

Re: DXライブラリの描画ができない

Posted: 2015年4月04日(土) 13:36
by Aozora0630
10行目の\は、特殊文字になるので、\\にしないといけません。
abc\a.png
↑\aという特殊文字になってしまう

abc\\a.png
↑\\という特殊文字(\)になる

Re: DXライブラリの描画ができない

Posted: 2015年4月04日(土) 14:01
by Jei-r
Aozora0630さん、ありがとうございます。
エスケープシーケンスのことすっかり忘れておりました……

ご指摘通り、10行目を

コード:

if(LoadGraphScreen(50, 100, "img\\1.png", TRUE)==-1)     exit(-2); // 画像を描画する
にしたところ問題なく動作しました。