トップページ > 記事閲覧
フルスクリーンに切り替えるとprintfDxが表示されない
名前:たけちー 日時: 2014/05/08 07:59

質問させてください。 最新版のライブラリ(3Dモデル機能無しパッケージ)を使用して ウィンドウモードで立ち上げ、その後フルスクリーンモードに切り替える処理を入れたところ フルスクリーン切り替え後にprintfDxで文字が一切表示されなくなってしまいました。 フルスクリーンで立ち上げその後ウィンドウモードに切り替え、の流れ場合は両モードでprintfDxが使用できています。 以前のライブラリでは上記処理に関して全く問題なかったのですが何か心当たりはございますでしょうか? ご教授頂けると大変助かります。 よろしくお願いいたします。
メンテ

Page: 1 |

Re: フルスクリーンに切り替えるとprintfDxが表示されない ( No.1 )
名前:管理人 日時:2014/05/09 00:53

心当たりは特にありません・・・ とりあえず私の手元で以下の様なテストプログラムを実行してみたのですが、 フルスクリーン後の画面に printfDx で指定した文字列( TestPrintF )が表示されました #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // ウインドウモードで起動 ChangeWindowMode( TRUE ) ; // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1 ; // フルスクリーンモードに変更 ChangeWindowMode( FALSE ) ; // printfDx を使用 printfDx( "TestPrintF" ) ; // キー入力待ち WaitKey() ; // DXライブラリの後始末 DxLib_End() ; // ソフトの終了 return 0 ; } たけちーさんの環境でもフルスクリーン後の画面に TestPrintF と表示されるか 試してみて頂けないでしょうか?
メンテ
Re:フルスクリーンに切り替えるとprintfDxが表示され ( No.2 )
名前:たけちー 日時:2014/05/09 06:57

ご返答ありがとうございます。 たしかに提示されたプログラムだとフルスクリーンでもprintDXでの表示は確認できるのですが…。 下記はウインドウモードで立ち上げ、 120フレーム後(2秒後)にフルスクリーンモードに切り替わるはずのプログラムなのですが フルスクリーン切り替え後、printDXが表示されません。 プログラムループは問題なく回っているようです。 これで何か問題ありますでしょうか? int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int i,fg=0; // ウインドウモードで起動 ChangeWindowMode( TRUE ) ; // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1 ; // システムメインループ while(ProcessMessage() == 0) { // Windowsの裏処理用 i++; if(fg && i>120){ // フルスクリーンモードに変更 ChangeWindowMode( FALSE ) ; fg=1; } // printfDx を使用 printfDx( "TestPrintF" ) ; ScreenFlip() ; // 裏画面の内容を表画面にコピーする } // ソフトの終了 return 0 ; }
メンテ
Re: フルスクリーンに切り替えるとprintfDxが表示さ ( No.3 )
名前:たけちー 日時:2014/05/09 19:54

すみません。 ↑の if(fg && i>120){ の部分は if((!fg) && i>120){ の間違いです。 いずれにしても動作しないようです。 どこかおかしい部分ありますでしょうか…?
メンテ
Re: フルスクリーンに切り替えるとprintfDxが表示されない ( No.4 )
名前:紙袋 日時:2014/05/09 23:30

たけちーさん whileでのループの中にclsDx関数を入れると表示されるようになりました。 ただ、やはりclsDxなしの場合だと切り替えた後に文字が描画されないみたいなので、ちょっと根本的な問題は分かりません・・・
メンテ
Re: フルスクリーンに切り替えるとprintfDxが表示さ ( No.5 )
名前:たけちー 日時:2014/05/10 11:50

ライブラリを3Dモデル機能ありパッケージにすると問題なく表示されるようですね・・・。 ライブラリのバージョンというよりは3Dモデル機能のありなしで挙動に差があるようです。うーん。
メンテ
Re: フルスクリーンに切り替えるとprintfDxが表示されない ( No.6 )
名前:管理人 日時:2014/05/11 15:10

載せて頂いたプログラムで私の環境でも現象が再現しました 画面切り替えの後タイミングによっては printfDx の結果を描画するための フォントハンドルの作成に失敗していたのが原因のようです 失敗しても成功したものとして処理してしまっていたために何も表示されない状況が 発生していたので、失敗した場合の対処をするようにしたら直りました 修正版をこちらにアップしましたので、よろしければたけちーさんの環境でも 直っているか試してみて頂けないでしょうか? m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: フルスクリーンに切り替えるとprintfDxが表示さ ( No.7 )
名前:たけちー(解決済) 日時:2014/05/11 17:06

ありがとうございます。 問題なく表示できているようです。 こちらは3Dモデル機能有りのフルパッケージ版でしょうか? お時間がありましたら3Dモデル機能なし版のアップデートの方もお願いできると大変助かります。 迅速なご対応ありがとうございました!
メンテ
Re: フルスクリーンに切り替えるとprintfDxが表示されない ( No.8 )
名前:管理人 日時:2014/05/15 00:01

ご返信が遅くなり申し訳ありません テスト版は3Dモデル機能ありのフルパッケージ版です 3Dモデル機能なし版は普段テスト版は作成しないので、お使いの開発環境 ( VisualStudio なのか、BorlandC なのか、MinGW なのかなど )を教えて頂けないでしょうか? たけちーさんがお使いの環境用の3Dモデル機能なし版を作成したいと思います
メンテ
Re: フルスクリーンに切り替えるとprintfDxが表示さ ( No.9 )
名前:たけちー(解決済) 日時:2014/05/15 07:33

ご丁寧な対応ありがとうございます。 私の環境はVisualStudio Express 2013 for Windows Desktop です。 何卒よろしくお願い致します。m(_ _)m
メンテ
Re: フルスクリーンに切り替えるとprintfDxが表示されない ( No.10 )
名前:管理人 日時:2014/05/16 16:03

VisualC++ 用の3Dモデル機能なし版をこちらにアップしました https://dxlib.xsrv.jp/temp/DxLibNoneModel_VC_Test.exe よろしければお使いください
メンテ
Re:フルスクリーンに切り替えるとprintfDxが表示され ( No.11 )
名前:たけちー(解決済) 日時:2014/05/16 20:00

管理人様 こちらの環境でも3Dモデル機能なし版で問題なく動作することを確認しました。 早速使わせて頂きます。 お忙しい中でのご丁寧な対応、本当にありがとうございました!
メンテ

Page: 1 |

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

   クッキー保存