▽1
●
cx20 ベストアンサー |
ウィンドウモードでDxライブラリがでません。
「ウィンドウモード」にならず「フルスクリーン」で真っ黒な画面が表示される、ということでしょうか?
もう少し、具体的な事象や、使用されている、「PC環境」と「ライブラリのバージョン」を記載された方が回答は付きやすいと思います。
なお、こちらの環境にて、以下のサンプルプログラムに ChangeWindowMode() 関数を追加して試してみたところ「ウィンドウモード」での表示が出来ることを確認しました。
■ 1.1章 DXライブラリが使える環境を整えよう
http://dixq.net/g/01_01.html
http://dixq.net/g/zip/Sample.zip
試した環境は以下になります。
とりあえず、コンパイルまで出来ている状況であれば、ChangeWindowMode() 関数の戻り値を確認してみては如何でしょうか。
■ ウインドウモード・フルスクリーンモード変更用関数
http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_other.html#R11N1
ChangeWindowMode() 関数が成功しているかどうかは戻り値で分かるようです。
定数名 | 値 | 説明 |
---|---|---|
DX_CHANGESCREEN_OK | 0 | モードの移行は成功した |
DX_CHANGESCREEN_RETURN | -1 | モードの変更は失敗し、元の画面モードに戻された |
DX_CHANGESCREEN_DEFAULT | -2 | モードの変更は失敗しデフォルトの画面モードに変更された |
DX_CHANGESCREEN_REFRESHNORMAL | -3 | 画面の変更は成功したが、リフレッシュレートの変更は失敗した |
どの値が返却されているか確認してみてください。以下は、戻り値を表示するサンプルになります。
#include "DxLib.h" int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ // ウィンドウモードの変更(TRUE : ウインドウモード、FALSE:フルスクリーン) int nResult = ChangeWindowMode(TRUE); if( DxLib_Init() == -1 ) // DXライブラリ初期化処理 { return -1; // エラーが起きたら直ちに終了 } // 0 … DX_CHANGESCREEN_OK : モードの移行は成功した // -1 … DX_CHANGESCREEN_RETURN : モードの変更は失敗し、元の画面モードに戻された // -2 … DX_CHANGESCREEN_DEFAULT : モードの変更は失敗しデフォルトの画面モードに変更された // -3 … DX_CHANGESCREEN_REFRESHNORMAL : 画面の変更は成功したが、リフレッシュレートの変更は失敗した DrawFormatString( 0, 0, GetColor( 255, 255, 255 ), "ChangeWindowMode() = [%d]", nResult ); WaitKey(); // キー入力待ち DxLib_End(); // DXライブラリ終了処理 return 0; }
また、使用されている、ライブラリが古いようであれば、最新版(ver3.08a)を使用されることをお勧めします。
■ DXライブラリのダウンロード
http://homepage2.nifty.com/natupaji/DxLib/dxdload.html