HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0829
susline5解決


sus

リンク

2012/8/29(Wed) 05:49:35|NO.48885

lineで四角を描こうとすると
左上に、すきまがあきます。

こういうものなんでしょうか?



line 100,100,200,100 line 100,100,100,200 line 200,100,200,200 line 100,200,200,200



この記事に返信する


spider

リンク

2012/8/29(Wed) 06:36:09|NO.48886

line命令は最初の二つのパラメータが始点ではなく、
あとの二つのパラメータが始点となり、
始点のパラメータがカレントポジションになります。

あとの二つのパラメータを省略するとカレントポジションが
始点となります。



test

リンク

2012/8/29(Wed) 17:14:19|NO.48904

実はline命令には、「終点には描画しない」という仕様があります。
つまり
line 100,100,200,100
の場合、(200,100)が始点となり、そこから(100,100)の直前、つまり今回の場合(101,100)まで線が引かれるのです。
なぜこのような仕様になっているかというと、spiderさんの言うように連続して線を引く場合を考慮してのことでしょう。 つまり、現在のコードでは
A  B
┌┐
└┘
D  C
という四角形で「B→A」「D→A」「C→B」「C→D」というように線を引いていますが、 これを例えば「A→B」「B→C」「C→D」「D→A」のように回るように線を引くと分かりやすくなり、ちょうど一周するので線が欠ける事もなくなります。



竜の中の人

リンク

2012/8/30(Thu) 09:28:05|NO.48922

もしかしたら見当違いかもしれませんが、

color 0,0,0:boxf 100,100,200,200
color 255,255,255:boxf 101,101,199,199
color 0,0,0

たぶんこれで黒い枠が出来ます。そういう意味でなかったらすいません



pp7-rp7

リンク

2012/8/30(Thu) 10:43:47|NO.48923


;============================================================ ; 2010/--/-- ; Artlet2D sample ; ;============================================================ ; ; 矩形、楕円系の描画命令のサンプルです。 ; ;============================================================ #include "a2d.hsp" ; 仮想イメージ 0 を作成 alCreateImage 0, 640, 480 if stat = -1 : dialog "GDI+ を初期化できませんでした。" : end ; 矩形 alDrawRect 0, 0, 120, 120 alFillRect 0, 150, 120, 120 ; 楕円 alDrawEllip 150, 0, 120, 120 alFillEllip 150, 150, 120, 120 ; パイ alDrawPie 300, 0, 120, 120, 0, 225 alFillPie 300, 150, 120, 120, 0, 225 ; 円弧 alDrawArc 450, 0, 120, 120, 0, 225 ; 仮想イメージ 0 から HSP スクリーンにコピー alCopyImageToScreen 0, 0 redraw
HSPのサンプルから抜き出したものです。
参考になれれば



sus

リンク

2012/8/31(Fri) 04:24:56|NO.48956

ありがとうございます。
仕様だったんですね。



ONION software Copyright 1997-2023(c) All rights reserved.