トップページ > 記事閲覧
画面クリアについて
名前:ほりちゃあー 日時: 2019/04/15 09:49

はじめまして 画面のクリアの範囲を指定したい場合、どんなプログラムになりますか? 画面サイズ640×480 例 ClearDrawScreen()は画面クリアですけど、ClearDrawScreen(100,100,640,400)の範囲を 指定して、画面をクリアしたいです。 よろしくお願いします。
メンテ

Page: 1 |

Re: 画面クリアについて ( No.1 )
名前:ギウ 日時:2019/04/15 21:01

DrawBox関数で塗りつぶすとか、どうでしょう。 DrawBox( 100,100,640,400, GetColor( 0, 0, 0), TRUE);
メンテ
Re: 画面クリアについて ( No.2 )
名前:ほりちゃあー 日時:2019/04/15 22:35

返信ありがとうございます。 ClearDrawScreen(int x,int y,int x1,int y1)って引数があれば、いいのに って思ったしだいです。 DrawBox関数で、塗りつぶすしかないでしょうか?
メンテ
Re: 画面クリアについて ( No.3 )
名前:CLS4 日時:2019/04/15 23:27

ClearDrawScreen()は実際には RECT rc = {100, 100, 640, 400}; ClearDrawScreen(&rc); と使用できるように定義されています。 ですが、これが機能するのは昔懐かしのDirectX9Exで動作させたときだけで、最近のPCのように DirectX11ではRECT部分は何を指定しても無効扱いになるため、全画面消去にしかなりません。 ですので、ギウさんが書かれたようにDrawBoxで埋めるのが簡単です。 Zバッファのクリアが必要ならClearDrawScreenZBuffer();もあるとよいでしょう。 ※Zバッファについては全画面クリアになっても問題はないはずです。 それか、(100,100,640,400)の中のみ消去するということは、それ以外の部分は一枚絵を ずっと表示するんですよね?だったら、640x480の一枚絵で(100,100,640,400)の部分が 真っ黒にした画像を用意しておき、最初にそれをDrawGraphで全画面描画すればくりぬいた状態に なります。SetDrawAreaを切り替えながら描画するとよいでしょう。
メンテ
Re: 画面クリアについて ( No.4 )
名前:ほりちゃあー 日時:2019/04/16 00:16

ありがとうございます。 いろいろと、試してみます。
メンテ

Page: 1 |

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

   クッキー保存