トップページ > 記事閲覧
ウインドウモード変更時のデバイスリセットに関しまして
名前:レモン 日時: 2024/09/18 22:45

お世話になります。 SetUseDirect3DVersion(DX_DIRECT3D_11); で 11 に設定したのち、ゲームを動作させている最中に ChangeWindowMode でウインドウモードを 変更するとDirectX デバイスがリセットされるようで、おそらく DirectX9 バージョンの為の措置が 11 設定でも 残ってしまっているのかと思うのですがいかがでしょうか。 // ChangeWindowMode を実行するとアドレスが変わる ID3D11Device* pd3dDevice = (ID3D11Device*)DxLib::GetUseDirect3D11Device(); 動的にウインドウモードを変更するとロードした画像などのハンドル関係が全て無効になってしまいまして、 よろしければご対応をお願いすることは可能でしょうか。 使用している DxLib バージョンは Ver 3.24d です。
メンテ

Page: 1 |

Re: ウインドウモード変更時のデバイスリセットに関しまして ( No.1 )
名前:管理人 日時:2024/09/19 16:48

関数リファレンスには載っていませんが、SetChangeScreenModeGraphicsSystemResetFlag という関数を使用することで ChangeWindowMode を使用してもロードした画像のハンドルが無効にならないようにすることができます // 画面モード変更時( とウインドウモード変更時 )にグラフィックスシステムの設定やグラフィックハンドルを // リセットするかどうかを設定する // Flag : TRUE=リセットする( デフォルト ) FALSE=リセットしない int SetChangeScreenModeGraphicsSystemResetFlag( int Flag ); 使い方については注釈の通りですが、デフォルトでは TRUE の設定になっていますので、ChangeWindowMode を実行する前に SetChangeScreenModeGraphicsSystemResetFlag( FALSE ); を実行していただければ ChangeWindowMode を 実行しても画像のハンドルが無効にならなくなります よろしければお試しください m(_ _)m
メンテ
Re: ウインドウモード変更時のデバイスリセットに関しまして ( No.2 )
名前:レモン 日時:2024/09/19 19:04

ありがとうございます。 教えて頂いた関数でハンドルが無効にならない事を確認できました 関連してもう一点なのですが、GetMouseDispFlag(TRUE) を一度行った後、何度か ChangeWindowMode でウインドウモードを変更すると マウスポインタが消失し、GetMouseDispFlag() で得られる値が 0 (FALSE) になるのですが、こちらはバグでしょうか?
メンテ
Re: ウインドウモード変更時のデバイスリセットに関しまして ( No.3 )
名前:レモン 日時:2024/09/19 19:07

連投ですみません、具体的には フルスクリーン -> ウインドウ -> フルスクリーン ( ここでマウスポインタ消失 ) という状態になっています。
メンテ
Re: ウインドウモード変更時のデバイスリセットに関しまして ( No.4 )
名前:管理人 日時:2024/09/20 02:46

> 関連してもう一点なのですが、GetMouseDispFlag(TRUE) を一度行った後、何度か ChangeWindowMode でウインドウモードを変更すると > マウスポインタが消失し、GetMouseDispFlag() で得られる値が 0 (FALSE) になるのですが、こちらはバグでしょうか? ChangeWindowMode( FALSE ); が実行された際にDXライブラリ内部で SetMouseDispFlag( FALSE ); を実行していますので、仕様となります ご面倒で申し訳ありませんが ChangeWindowMode の実行後の箇所に SetMouseDispFlag( TRUE ); を記載するようにしてください m(_ _;m
メンテ
Re: ウインドウモード変更時のデバイスリセットに関しまして ( No.5 )
名前:レモン( 解決 ) 日時:2024/09/20 03:22

承知しました、諸々の素早いご返答ありがとうございました、また何かありましたらご相談いたします
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存