トップページ > 過去ログ > 記事閲覧
ClearDrawScreen()とDrawBox() 
名前:すていん 日時: 2009/01/29 16:19

こんにちは。画面の消去に関することで質問を一つよろしいでしょうか。 画面に映っているものを消去する関数としてClearDrawScreen()がありますが、 ノーブレンドで DrawBox(0,0,画面Xサイズ,画面Yサイズ,黒,TRUE); として画面を黒く塗りつぶして消去する(上書きする?)方法との違いはどのようなものでしょうか? ClearDrawScreen()はDrawBox()の方法より若干重たい処理のようなのでDrawBox()を用いて画面を消去しているのですが、 何か致命的な不具合を引き起こす可能性があれば、教えてください。 お願いします。

Page: 1 |

Re: ClearDrawScreen()とDrawBox()  ( No.1 )
名前:さかな 日時:2009/01/29 17:57

ClearDrawScreenとDrawBoxの違いは、 前者ではマスクデータが消去される、 後者はされないことぐらいだと思います。
Re: ClearDrawScreen()とDrawBox()  ( No.2 )
名前:すていん 日時:2009/01/31 18:03

回答ありがとうございます。 マスク機能を利用してなければ問題ないんですね。 ゲームのプログラム中のどこにもClearDrawScreenを使用していないので不安だったのですが、解消しました。 というか、ループ中に1回はClearDrawScreenしなければならないというのは私の勝手な思い込みだったのかな。
Re: ClearDrawScreen()とDrawBox()  ( No.3 )
名前:管理人 日時:2009/02/01 19:12

3Dゲームの場合は ClearDrawScreen でZバッファのクリアも行うのでループ中に 必ず1度呼ぶ必要がありますが、2Dゲームの場合では必ずしも呼ぶ必要はありません 背景やキャラクターなど他の描画物で画面が埋まることが確定している場合は、 寧ろ ClearDrawScreen を呼ばないことで画面1枚塗りつぶす分の処理負荷を稼ぐことができます

Page: 1 |