トップページ > 過去ログ > 記事閲覧
v3.00 以降、タスクの切り替えで異常な表示になる
名前:Masao 日時: 2009/09/19 10:55

フルスクリーンの状態で、pngをロードしておきます。 Alt + Tab で、他のタスクに入り、もう一度ゲームに戻ってくると ロードしておいたpng画像がおかしな表示になります。 (α値(透明度)のデータが破壊されているような) 2.25b においては、正常な動作を確認しました。 タスクを変えても問題なく表示されます。 3.00b/3.00 にて、異常な表示を確認しました。 それから、(pngしか確認しておりませんが)画像データに限らず、テキスト表示も異常でした。 DrawString や DrawFormatString なども文字が見えなくなり、真っ白な四角形に姿形を変えておりました。 修正お願いします。

Page: 1 |

Re: v3.00 以降、タスクの切り替えで異常な表示になる ( No.1 )
名前:wish 日時:2009/09/19 16:23

v3.00 ってDirectX9使ってると思うので、 フルスクリーン状態でデバイス情報を復元する場合 デバイス側をリセットした後、すべてのリソースを 再作成する必要があります。 SetRestoreGraphCallback関数を使用して、 再読み込み処理を登録しておくことで、 コールバックして貰えるかも。 まぁ、Alt+Tabを使用不能にすることができれば 楽なのですが、こちらはMSが非推奨してて 環境によってはうまく動作しないことも 多いみたいなので。。。。
Re: v3.00 以降、タスクの切り替えで異常な表示になる ( No.2 )
名前:Masao 日時:2009/09/20 06:22

ふむ、DirectXのバージョンの違いが原因でしたか。 SetRestoreGraphCallback関数で解決しました! ありがとうございます。 >管理人様 >しかし、一時的にデスクトップ画面になった後、 >再びDXライブラリを使用したソフトがアクティブになりフルスクリーン画面に戻ると、 何事も無かったかのように画像は描画されます。 という表記に「ver3.00以降は無効」という表記を足すか修正する、などの対処をお願いいたします。 それでは、この件は解決です。 wish さんありがとうございました。
Re: v3.00 以降、タスクの切り替えで異常な表示になる ( No.3 )
名前:管理人 日時:2009/09/20 09:03

すいません、DXライブラリのバグが原因です orz DirectXの挙動はwishさんの仰るとおりなので、DirectX7版の頃からフルスクリーンモードでの 復帰処理は実装してありました、なのでライブラリにバグが無ければ DirectX9版でも下記は有効です >しかし、一時的にデスクトップ画面になった後、 >再びDXライブラリを使用したソフトがアクティブになりフルスクリーン画面に戻ると、 何事も無かったかのように画像は描画されます。 修正版をアップしましたので、お手数ですがこちらをお使いください m(_ _;m ( 「v3.00にすると真っ黒画面に」スレッドのご返信のものと同じものです ) http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)
Re: v3.00 以降、タスクの切り替えで異常な表示になる ( No.4 )
名前:Masao 日時:2009/09/20 15:03

>管理人様 修正を確認しました。 ありがとうございました。

Page: 1 |