ページ 11

文字列の表示ができない

Posted: 2016年5月06日(金) 23:24
by Nov
DXライブラリを使用してゲームを作ろうとしている者です。環境は、

○Windows10 (VirtualBoxでMacbookAir上に仮想化)
○VisualStudio 2015 community

で作っています。まずは簡単なものからと文字を表示するだけのプログラムを作りましたが、コンパイルエラーなどは無く、ウィンドウまでは表示されますが、
文字が表示されず、何も表示されていない黒い画面のままになります。キーを押すと終了するのでキー入力はできているようです。コードは以下の通りです。

コード:

#include"DxLib.h"

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
	LPSTR lpCmdLine, int nCmdShow)
{

	if ((ChangeWindowMode(TRUE)) == -1)
		return -1;
	if (DxLib_Init() == -1)
		return -1;

	int Cr;

	Cr = GetColor(0, 255, 255);

	DrawString(250, 240 - 32, "Hello C World!", Cr);

	WaitKey();

	DxLib_End();

	return 0;
}
以前はWindows7、VisualStudio 2008 Expressで作っていましたが、このようなことはなかったため、環境が悪いのかとも考えましたが、まったく分かりません。どなたか分かる方がいたらよろしくお願いします。

Re: 文字列の表示ができない

Posted: 2016年5月07日(土) 20:47
by amehirune
こちらの環境では無事動作いたしました。
Windows10でVC++2008EEを使用しております(以前あなたが使っていた開発環境と同様のものと考えていいです)。

とりあえず、その他の環境要因を把握するため、DXライブラリのバージョンを教えてくださらないでしょうか。
こちらはv3.12cで動作しておりました。因みに最新版はv3.16bです。

Re: 文字列の表示ができない

Posted: 2016年5月08日(日) 17:33
by Nov
返信有り難うございます。DXライブラリのバージョンについてですが、現在使っているのは3.16bになります。

Re: 文字列の表示ができない

Posted: 2016年5月08日(日) 17:57
by amehirune
では、以下のようなプログラムを追加してみてはくださいませんでしょうか。

コード:

//16行目から追加・変更します
int check_error=DrawString(250, 240 - 32, "Hello C World!", Cr);
printfDx("Error Code=%d\n",check_error);
オフトピック
あれ?そういえばScreenFlip();が見当たらないぞ?

Re: 文字列の表示ができない

Posted: 2016年5月08日(日) 18:02
by みけCAT
amehirune さんが書きました:
オフトピック
あれ?そういえばScreenFlip();が見当たらないぞ?
でもSetDrawScreenも見当たらないですし、自分の環境(Windows 7 x64、DXライブラリ 3.16、GCC 4.8.1)ではきちんと表示できますね。

Re: 文字列の表示ができない

Posted: 2016年5月09日(月) 16:19
by Nov
返信が遅れてすみません。指定されたコードを追加し、実行してみましたが、結果は同じで、エラーコードのようなものも何も表示されませんでした。また、標準ライブラリのstdio.hをインクルードして、printfなども試してみましたが、やはり表示されませんでした。

Re: 文字列の表示ができない

Posted: 2016年5月09日(月) 23:28
by へにっくす
そもそもMacbookAirのVirtualBox上で動かせましたっけ?
DXLIBの本家に聞いた方がよろしいのでは?

Re: 文字列の表示ができない

Posted: 2016年5月10日(火) 10:37
by Nov
教えて頂いた通り、本家サイトで質問をしました。

Re: 文字列の表示ができない

Posted: 2016年5月11日(水) 00:30
by へにっくす
Nov さんが書きました:教えて頂いた通り、本家サイトで質問をしました。
これですね。
リンクも貼ってください
MacBook Air上での動作

Re: 文字列の表示ができない

Posted: 2016年5月15日(日) 17:59
by Nov
本家サイトで質問をしていましたがSetUseDirectDrawFlagを使用するしかないようです。こちらでの質問はこれで終わりにさせていただきます。回答してくれた皆様ありがとうございました。