tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル隠線処理の具体例を教えて下さい。
記事No16227
投稿日: 2016/03/13(Sun) 14:04
投稿者マッキ−星
ライン(線)で描いた四角形の前にラインで描いた四角形を少しずらして重ねたいと考えています。
この時、重なっている部分の線を消したいのですが、何か良いプログラム例があったら教えてくだ
さい。

[ツリー表示へ]
タイトルRe: 隠線処理の具体例を教えて下さい。
記事No16228
投稿日: 2016/03/13(Sun) 22:09
投稿者魔界の仮面弁士
> ライン(線)で描いた四角形の前にラインで描いた四角形を少しずらして重ねたいと考えています。
> この時、重なっている部分の線を消したいのですが、何か良いプログラム例があったら教えてくだ
> さい。

ラインで描いた四角形というのが Line ステートメントの BF 指定の意味であれば、
DrawMode を vbXorPen として描画するのは如何でしょう。手元に VB6 環境が無いので
試せませんが、同色で重ねれば重複領域が打ち消しあって元の色になると思います。

ただし、背景画像があるのだとすれば、XOR 描画によって色が単色にならなくなってしまうので
スプライト処理を併用することになるかもしれません。
http://masudahp.web.fc2.com/vb6/vb6first/pict032.html


また、Line の BF 指定ではなく B 指定である場合は、幾何学計算で
座標を算出して線分として描画するという選択肢もあるかと思います。


> 何か良いプログラム例があったら
そのものズバリは見当たりませんでした。

[ツリー表示へ]
タイトルRe^2: 隠線処理の具体例を教えて下さい。
記事No16229
投稿日: 2016/03/14(Mon) 20:17
投稿者マッキ−星
魔界の仮面弁士 様へ

早速のアドバイスを有り難うございました。
LineとLineが重なった部分を幾何学計算して座標を算出する
方法をとることに致しました。
私の説明が抽象的であったことを深くお詫びいたします。
実は、座標を3軸(x,y,z)にして、描いた奥行きのある四角形
のボックスを矢印カーソルで自由自在に回転させるプログラム
を考えています。
いろいろなアイデアを有り難うございました。

[ツリー表示へ]