トップページ > 記事閲覧
表画面に描画できない
名前:初心者 日時: 2014/02/28 18:54

とある事情で表画面に直接描画する必要があるのですが、 リファレンスにこの関数をしようした場合は必ず裏画面に、 と書いてある関数を使用していないのに(と思います・・・)うまく表示できません。 もしかしたら確認漏れかもしれないのですが、直接表画面に使用してはいけない関数は SetWindowSizeChangeEnableFlag SetWindowSizeExtendRate SetFullSceneAntiAliasingMode SetDrawValidMultiSample この4つで合ってますでしょうか? また表示できないプログラムはこのような感じです #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode(true); SetGraphMode(1280,720,32); if( DxLib_Init() == -1 )return -1; SetChangeScreenModeGraphicsSystemResetFlag(false); SetDrawMode(DX_DRAWMODE_BILINEAR ); int sc_handle = MakeScreen( 1280 , 720) ; int handle = LoadGraph( "./img/graph.png" ) ; while(CheckHitKey(KEY_INPUT_ESCAPE) == 0){ SetDrawScreen( sc_handle ); DrawGraph( 0 , 0 , handle , false ) ; SetDrawScreen( DX_SCREEN_FRONT ); DrawGraph(0,0,sc_handle , false ); ClearDrawScreen(); } DxLib_End() ; return 0 ; }
メンテ

Page: 1 |

Re: 表画面に描画できない ( No.1 )
名前:管理人 日時:2014/03/01 00:14

> 直接表画面に使用してはいけない関数は > SetWindowSizeChangeEnableFlag > SetWindowSizeExtendRate > SetFullSceneAntiAliasingMode > SetDrawValidMultiSample > この4つで合ってますでしょうか? リファレンスに載せている関数の中では挙げていただいた4つで合っていると思います 貼り付けて頂いたプログラムで何も表示されない原因は別で、 表画面に描画した後、SetDrawScreen を使用してすぐに別の画面を描画対象に 変更すると表画面に対して行った描画結果が表示されないというバグがありました 修正版をアップしましたので、よろしければお試しください 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)」をして下さい) ただ、上記修正バージョンでも初心者さんが貼り付けていただいたプログラムでは やはりなにも表示されません、何故かといいますと DrawGraph(0,0,sc_handle , false ); の直後に ClearDrawScreen(); で画面をクリアしてしまっているからです 少なくとも載せて頂いたプログラムでは ClearDrawScreen(); は無くても問題は無いと 思いますので、ClearDrawScreen();を削除してください、描画結果が表示されるようになります
メンテ
Re: 表画面に描画できない ( No.2 )
名前:初心者(解決) 日時:2014/03/01 00:43

修正版で正常に表示されることが確認できました。 こんなに早く対応していただけるとは思わず、非常に助かりました。 ありがとうございます! ClearDrawScreenについてですが、色々試行錯誤してたときの名残で誤って残したまま張りつけてしまいました(..;)
メンテ

Page: 1 |

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

   クッキー保存