トップページ > 過去ログ > 記事閲覧
フルスクリーン表示ができない
名前:はるかぜ 日時: 2013/02/19 10:55

ある程度ゲームが出来上がってきたので持っているパソコン全部で動くか確認していたのですが、 ノートPCの一つに推奨解像度が1366×768とアスペクト比が特殊なものになっているものがあり、その解像度に設定しているとフルスクリーン表示ができず即終了してしまいます。 16:9の解像度(1360×768)に設定してから起動すればフルスクリーンになるんですが、デフォルト設定が1366×768になっているので、できればその状態でフルスクリーンにしたいです。 何か方法があれば教えていただければと思います。

Page: 1 |

Re: フルスクリーン表示ができない ( No.1 )
名前:管理人 日時:2013/02/24 17:35

フルスクリーン表示表示ができない場合はウインドウモードで起動するはずなので、 終了してしまうのはちょっと不思議です 私も1366x768の解像度で起動してみましたが、問題なくフルスクリーン画面で動作しました よろしければ 1366x768解像度に設定して起動した際の Log.txt の中身をこちらの 掲示板に貼り付けて頂けないでしょうか? ( Log.txt はプロジェクトフォルダか実行ファイルが生成されたフォルダにあります ) あと、こちら↓のプログラムを実行するとでフルスクリーンで使用することができる 画面モードの一覧を見ることができますので、よろしければ実行して表示される 画面モードの中に1366x768の解像度があるかご確認になってみてください #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { DISPLAYMODEDATA ModeData ; int i, ModeNum ; // ウインドウモードで起動 ChangeWindowMode( TRUE ); // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1; // フォントサイズを小さくする SetFontSize( 10 ) ; // フォントの線を細くする SetFontThickness( 0 ) ; // ディスプレイモードの数を取得する ModeNum = GetDisplayModeNum() ; // ディスプレイモードの数だけループする for( i = 0 ; i < ModeNum ; i ++ ) { // ディスプレイモードの情報を取得する ModeData = GetDisplayMode( i ) ; // 画面にディスプレイモードの情報を描画する DrawFormatString( i / 40 * 128, ( i % 40 ) * 11, GetColor( 255,255,255 ), "%dx%d %dbit %dHz", ModeData.Width, ModeData.Height, ModeData.ColorBitDepth, ModeData.RefreshRate ) ; } // キーが押されるまで待つ WaitKey() ; // DXライブラリの後始末 DxLib_End(); // ソフトの終了 return 0; }
Re: フルスクリーン表示ができない ( No.2 )
名前:ろむお 日時:2013/02/24 20:32

x1360とあるので、1360,1365,1366と規格乱立してた頃のものなんじゃないですかねえ。。 (某社の拡張ぢすぷれいアダプタみたいに) たった6px違うだけでエラーみたいな感じだった記憶が。
Re: フルスクリーン表示ができない ( No.3 )
名前:はるかぜ 日時:2013/02/27 22:52

エラーになった時のログを見たところ、 533:画面モードの変更処理を開始します 800 x 600 16 bit 536: 画面解像度を変更します... 画面モードの変更に失敗しました というのが最後に出ていたので、SetGraphModeで16bitカラーに変更しようとしていたのが問題だったようです。 32bitにしたらフルスクリーンになりました。 いただいたサンプルプログラムでは800x600でも1366x768でも16bitの表示が出ていて、同じようにSetGraphModeで16bitにしてもフルスクリーンで起動できたのでもう少し原因を探ってみようと思います。 一応エラー終了時のログを張り付けておきます 0:システムの情報を出力します 0: DXライブラリ Ver3.10a 0: 論理プロセッサの数 : 2 0: OS Windows ( Build 9200 ) 115: CPU動作速度:大体1.66GHz 118: MMX命令を使用します 120: SSE命令が使用可能です 123: SSE2命令が使用可能です 125: CPUベンダ:GenuineIntel 137: CPU名: Intel(R) Celeron(R) CPU B820 @ 1.70GHz 140:COMの初期化... 成功しました 145:メモリ総量:1884.36MB 空きメモリ領域:388.64MB 149:タイマーの精度を検査します 153:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 156: パフォーマンスカウンターを使用します タイマー精度 : 1656.391000 KHz 161: ソフトの二重起動検査... 二重起動はされていませんでした 171:ウインドウクラスを登録します... 登録に成功しました 177:フルスクリーンモード用のウインドウを作成します 180:ウインドウの作成に成功しました 184:ウインドウを表示します 193:カーソルを不可視にしました 197:IMEを無効にしました 220:DirectInput関係初期化処理 224: XInput DLL の読み込み中... 成功 231: DirectInput7 の取得中... 成功 247: 引き続き初期化処理... 初期化成功 252: ジョイパッドの初期化... 261: ジョイパッドの初期化は正常に終了しました 263: マウスデバイスの初期化... 初期化成功 269: キーボードデバイスの初期化... 初期化成功 274:DirectInput 関連の初期化は正常に終了しました 277:DirectSound の初期化を行います 279:DirectSound インターフェースの取得を行います.... 成功 285:引き続きインターフェースの初期化処理... 成功 471: DirectSound デバイスを列挙します 477: モジュール名: ドライバ記述:プライマリ サウンド ドライバー 483: モジュール名:{0.0.0.00000000}.{81b1d22c-1ca5-4e05-a71e-382a7784f9de} ドライバ記述:スピーカー (Realtek High Definition Audio) 488: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz 493: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 498: 利用可能サンプリング精度 501: プライマリ 16bit = OK 8bit = OK 505: セカンダリ 16bit = OK 8bit = OK 508: 利用可能チャンネル 510: プライマリ MONO = OK STEREO = OK 513: セカンダリ MONO = OK STEREO = OK 516:DirectSound の初期化は正常に終了しました 521:DirectDraw オブジェクトの取得を行います.... 成功 529:引き続き初期化処理... 初期化に成功しました 545:IDirect3D9Ex オブジェクトを取得します.... 成功 553:Desktop Window Manager を無効にしました 556:IDirect3DDevice9Ex オブジェクトを取得します.... Direct3DDevice9Ex の作成に失敗しました 563:画面モードの変更処理を開始します 800 x 600 16 bit 566: 画面解像度を変更します... 画面モードの変更に失敗しました

Page: 1 |