トップページ > 過去ログ > 記事閲覧
SetDrawScreenの動作(Ver3.02)
名前:oku 日時: 2010/04/06 19:42

作者様、はじめまして。okuと申します。 素晴らしいライブラリの公開、ありがとうございます。 ありがたく使わせて頂いております。 SetDrawScreenの動作についてなのですが、DXライブラリVer3.02で 以下のコードを実行した際に、リファレンス記述と異なる動作をして いるように思いまして、質問させていただきます。 //////////////////////////////////////////////////////////////////// /* 初期化 */ ChangeWindowMode(TRUE); ret=DxLib_Init(); if(ret==-1){ return 1; } /* Stage 1 : 描画先を裏画面に */ SetDrawScreen(DX_SCREEN_BACK); /* Stage 2 : 裏画面に描画 (表示されないはず) */ ret=DrawBox(0, 0, 640, 480, GetColor(255, 255, 255), 1); if(ret==-1){ return 2; } /* Stage 3 : 裏画面に描画した為、黒い画面のまま */ WaitKey(); /* Stage 4 : 描画先を表画面に */ SetDrawScreen(DX_SCREEN_FRONT); /* Stage 5 : ここでも黒い画面のままなのでは? */ WaitKey(); /* 終了 */ DxLib_End(); ////////////////////////////////////////////////////////////////// 上記のコードを実行した際、2回目のWaitKey()の時点で画面が真っ白に なってしまいます。リファレンス記述からはSetDrawScreenは以降の描画先の 指定を行うのみで単体では描画に影響が無いように読めるのですが…。 # ちなみにDLできる以前のバージョンであるVer2.25では想定通りに動作します。 Ver2.25→3.02の間でSetDrawScreenの仕様に変更等があるのでしょうか? 大変お忙しいとは思いますが、お時間のある時にでもお答えいただければ うれしいです。 よろしくお願いしますm(_ _)m

Page: 1 |

Re: SetDrawScreenの動作(Ver3.02) ( No.1 )
名前:管理人 日時:2010/04/19 00:33

> Ver2.25→3.02の間でSetDrawScreenの仕様に変更等があるのでしょうか? すいません、お察しの通りです Ver3.00以降で採用した DirectX9 では表画面に直接描画する手段が無いので、 描画先は常に裏画面で、一定間隔で ScreenFlip を自動的に実行するという方法で、表画面に描画したときのように 「描画結果が ScreenFlip を実行しなくても反映される」という仕様を苦し紛れに実現しています
Re: SetDrawScreenの動作(Ver3.02) ( No.2 )
名前:oku 日時:2010/04/19 20:09

なるほど、そういうことでしたか。 お忙しい中返答いただきまして、ありがとうございました!

Page: 1 |