DXライブラリでDrawString関数を使い描画した文字を消したいのですが、
効率の良い方法がわかりません。
今は他の画像を上から被せて無理やり消してます。
それに加えて、、、
画像を複数読み込んだものを消す時に、
一部を消したいのですが、
消すことができません。
この二つを解決するヒントを教えてもらえないですか?
描画した文字を消すには?
Re:描画した文字を消すには?
> DXライブラリでDrawString関数を使い描画した文字を消したいのですが、
> 効率の良い方法がわかりません。
> 今は他の画像を上から被せて無理やり消してます。
それが一般的かと思います。
> 画像を複数読み込んだものを消す時に、
> 一部を消したいのですが、
> 消すことができません。
消すというのはメモリから画像データを消すということですか?
リファレンスに以下の関数があります。
宣言 int DeleteGraph( int GrHandle ) ;
概略 指定のグラフィックをメモリ上から削除する
> 効率の良い方法がわかりません。
> 今は他の画像を上から被せて無理やり消してます。
それが一般的かと思います。
> 画像を複数読み込んだものを消す時に、
> 一部を消したいのですが、
> 消すことができません。
消すというのはメモリから画像データを消すということですか?
リファレンスに以下の関数があります。
宣言 int DeleteGraph( int GrHandle ) ;
概略 指定のグラフィックをメモリ上から削除する
Re:描画した文字を消すには?
解答ありがとうございます。
描画した文字を消すには、
やはりそうするしかないのですか・・・・
画面上の画像を消すと言う前に疑問なのですが、
画像を画像の上に描画したら古い画像のデータは消えてしまいますか?
それとも上から描画した画像をどうにか消すことができたら古いものが現れますか?
その辺りがよくわかりません。
描画した文字を消すには、
やはりそうするしかないのですか・・・・
画面上の画像を消すと言う前に疑問なのですが、
画像を画像の上に描画したら古い画像のデータは消えてしまいますか?
それとも上から描画した画像をどうにか消すことができたら古いものが現れますか?
その辺りがよくわかりません。
Re:描画した文字を消すには?
> 画像を画像の上に描画したら古い画像のデータは消えてしまいますか?
はい。
Aという画像を描画した後に、同じところにBという画像を描画した場合AのデータはBのデータで上書きされて無くなるので、Aをもう一度表示するにはもう一度Aを画面に描画するしかありません。
はい。
Aという画像を描画した後に、同じところにBという画像を描画した場合AのデータはBのデータで上書きされて無くなるので、Aをもう一度表示するにはもう一度Aを画面に描画するしかありません。
Re:描画した文字を消すには?
確かに描写された文字を消すには画像やDrawBox等で隠すと消えます。
また、
SetDrawScreen(DX_SCREEN_BACK)
ClearDrawScreen()
ScreenFlip()
を組み合わせることによって、
前ループでDX_SCREEN_BACKに描写したものを消し、
現ループで裏描写→表描写できるので、
前ループでDrawString()と記述してある行を通っていたが、
現ループではその行を通っていないなら、画面上から文字は消えます。(文字を描写しない)
これも一応文字を消すの題意を満たしているかなと思うのですが・・・
文字を消すっというよりも、文字を描写しないっと表現するほうが適切ですかね。
これは、ゲームプログラミングの館にも採用されています。
また、
SetDrawScreen(DX_SCREEN_BACK)
ClearDrawScreen()
ScreenFlip()
を組み合わせることによって、
前ループでDX_SCREEN_BACKに描写したものを消し、
現ループで裏描写→表描写できるので、
前ループでDrawString()と記述してある行を通っていたが、
現ループではその行を通っていないなら、画面上から文字は消えます。(文字を描写しない)
これも一応文字を消すの題意を満たしているかなと思うのですが・・・
文字を消すっというよりも、文字を描写しないっと表現するほうが適切ですかね。
これは、ゲームプログラミングの館にも採用されています。
Re:描画した文字を消すには?
Mistさん
答えていただきありがとうございます。
これでどうにか前に進めそうです(^^)
kazuoniさん
解答ありがとうございます。
それらの関数は使ってたのですが・・・
館の方も一通り目を通してたのにも関わらず、
知識不足で自分の作る物に応用できると気づきませんでした。
参考になりました♪
答えていただきありがとうございます。
これでどうにか前に進めそうです(^^)
kazuoniさん
解答ありがとうございます。
それらの関数は使ってたのですが・・・
館の方も一通り目を通してたのにも関わらず、
知識不足で自分の作る物に応用できると気づきませんでした。
参考になりました♪