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
|
Re:フルスクリーンに切り替えるとprintfDxが表示され ( No.11 ) |
- 名前:たけちー(解決済) 日時:2014/05/16 20:00
管理人様
こちらの環境でも3Dモデル機能なし版で問題なく動作することを確認しました。
早速使わせて頂きます。
お忙しい中でのご丁寧な対応、本当にありがとうございました!
|