ページ 11

フルスクリーンとウィンドウで分ける

Posted: 2022年2月21日(月) 23:30
by cupa
ゲームを起動する前に、フルスクリーンで表示しますか?と聞いて(ここまではできました)はいならフルスクリーンにして、いいえならウィンドウモードにする。

ウィンドウモードにするのは簡単なのですが、
フルスクリーンにする際、普通にデスクトップの大きさを取得してその大きさに拡大するだけでは
他のもの(背景・キャラ・移動速度も変えないとおかしくなる)にもすべて対応させないといけませんよね。

四聖龍神録Plusをやったのですが、はじめにフルスクリーンかウィンドウモードにするか聞かれますよね。
フルスクリーンにすると、ウィンドウズ自体が拡大されて(ゲームが起動する前の数秒間開いてたウィンドウ(ブラウザなど)が拡大される)おかしくなったように見えるのですが、ゲームが起動すれば問題ないし、ゲームを閉じれば直りますよね。

四聖龍神録Plusはどうやってやっているのでしょうか?
他のSetWindowSizeChangeEnableFlagやSetWindowSizeExtendRateやGetDefaultStateなども試してみたのですが
うまくいかず・・・

他にいい関数や、四聖龍神録Plusがどうやってやっているのか知っている方がいれば教えて下さい・・・

Re: フルスクリーンとウィンドウで分ける

Posted: 2022年2月23日(水) 01:54
by prog
ChangeWindowMode( TRUE ); を実行しなければ特別なことをしなくてもフルスクリーンモードで起動すると思うのですが、それでは何か不都合があるのでしょうか?

Re: フルスクリーンとウィンドウで分ける

Posted: 2022年2月23日(水) 12:07
by cupa
うまくいきました・・・すみません。ありがとうございます。
が、四聖龍神録Plusはフルスクリーンで表示する場合、拡大したような表示の仕方をしませんか?

それが少し気になるので、知っている方がいれば良ければ教えて下さい・・・

Re: フルスクリーンとウィンドウで分ける

Posted: 2022年2月23日(水) 17:41
by prog
ChangeWindowMode( TRUE ); を実行せずに、且つ SetGraphMode でデスクトップ画面の解像度よりも小さい解像度を指定していれば( 例えば SetGraphMode( 320, 240, 32 ); など )、それだけで拡大されると思うのですが、そうならないということでしょうか?

Re: フルスクリーンとウィンドウで分ける

Posted: 2022年2月23日(水) 21:39
by cupa
”うまくいきました・・・”
と言ってるように、拡大はされました。
が、気になったので質問したまでです・・・

Re: フルスクリーンとウィンドウで分ける

Posted: 2022年2月23日(水) 23:06
by prog
・・・?
”四聖龍神録Plusのフルスクリーンと同じように拡大されて表示されるようになった”
のに、まだ何か疑問があるのでしょうか…?

Re: フルスクリーンとウィンドウで分ける

Posted: 2022年2月24日(木) 07:04
by cupa
フルスクリーンで表示されたのですが、
四聖龍神録Plusとは違った拡大の仕方な気がして・・・
そのが気になったので追加質問しました…

Re: フルスクリーンとウィンドウで分ける

Posted: 2022年2月24日(木) 20:42
by prog
そういうことでしたか。
確認してみた限り、四聖龍神録Plusは画面の解像度をSetGraphModeで指定された解像度に変更しているのに対して、最新のDxLibでは画面の解像度は変更せずにフルスクリーンにしているようです。
(四聖龍神録Plusの実行ファイルが10年前のものなので、その間にDxLibの挙動が変わったのだと思います)

DxLib_Initの実行前に
SetFullScreenResolutionMode( DX_FSRESOLUTIONMODE_NATIVE );
を実行すれば四聖龍神録Plusと同じ挙動になると思います。

Re: フルスクリーンとウィンドウで分ける

Posted: 2022年2月24日(木) 20:44
by cupa
なるほど、ありがとうございます!
丁寧に調べていただきありがとうございます。
説明わかりにくくてすみませんでした。。。