CLEARについて ひろ 2004/01/26 19:10:11 └ちょっとその書き方(順番)だと説明しにくい... 青木太一 2004/01/27 00:14:05 └ありがとうございました。 ひろ 2004/01/27 14:07:13
CLEARについて ひろ 2004/01/26 19:10:11 ツリーへ
CLEARについて |
返事を書く |
ひろ 2004/01/26 19:10:11 | |
私は画面のチラツキをおさえるために 青木太一さんのしょうかいしてくださった "正六角形の回転プログラム"にのっていた set draw mode explicit set draw mode hidden clear を使っていますが、 普通の clear と set draw mode explicit set draw mode hidden clear は、どう違うのでしょうか。 教えてください。 |
└ちょっとその書き方(順番)だと説明しにくい... 青木太一 2004/01/27 00:14:05 ツリーへ
Re: CLEARについて |
返事を書く |
青木太一 2004/01/27 00:14:05 | |
ちょっとその書き方(順番)だと説明しにくいので、別のプログラムでチラツキを抑える仕組みを説明させてください。 なお、これは「ダブルバッファリング」というcgアニメに一般的なチラツキ防止技法とほぼおなじものだと思います。 下のプログラムは ・画面を消す ・点を描く を繰り返します。 画面を消してから点を描き終わるまでの画面が白いところも (一瞬ですが)目に見えるので、チラツキが発生します。 set window 0,1,0,1 do clear plot points:0.5,0.5 loop END アニメーションを行うとき、同じ理由でチラツキが発生してしまいます。 どうしたらチラツキを抑えられるでしょうか? ・画面を消す ・点を描く という動作を、画面に反映させないでコンピュータ内部のビットマップメモリにだけ行い、 新しい絵が描き終わったら、ビットマップメモリを画面に反映させるようにすればいいのです。 そのようにした下のプログラムではちらつきは生じません。 set window 0,1,0,1 do set draw mode hidden!画面に描画を反映させないようにする clear plot points:0.5,0.5!いろいろ絵を描く。ここでは点だけ。 set draw mode explicit!画面に反映させる loop END ご理解いただけたでしょうか? ヘルプの 目次-グラフィックス-独自の拡張(特殊処理) にset draw modeについての説明がありますので、そちらもごらんになるといいと思います。 あまりうまく説明できてない気もするので、わからなかったらごめんなさい。 十進BASICではないですが、ダブルバッファリングについては http://birdynet.com/bakuretuken/sorajava/sora04.html http://www.ics.kagoshima-u.ac.jp/edu/ProgramingJava/UsingImage/s5.html などの説明がわかりやすいかと思います。 |
└ありがとうございました。 ひろ 2004/01/27 14:07:13 ツリーへ
Re: ちょっとその書き方(順番)だと説明しにくい... |
返事を書く |
ひろ 2004/01/27 14:07:13 | |
ありがとうございました。 なぜチラツキを抑えることができるのかがよくわかりました。 ダブルバッファリングというんですね。 |