small basic 内でいくつかのことを試して、線をマウスに追従させ、線全体を動かさないようにした後、最近問題に遭遇しました。もともと、グラフィックウィンドウをクリアし、右下からマウスまでの線を再描画することにより、ある点からマウスの位置に接続されたままになるように、常に線を更新しようとしていました。これは機能せず、リソースを集中的に使用していました。しかし、今では Shape.addline と shape.move に出会いました。しかし、それらがどのように機能するかについてはよくわかりません。私の理解では、次のようにして形状に独自の名前を付けることができます。
[Shapename] = Shapes.addline(positions)
そして、その形状は次を使用して移動できます。
Shapes.move(Shapename,Coordinates)
私の場合は次のとおりです。
L1 = Shapes.AddLine(0,GraphicsWindow.Height,GraphicsWindow.MouseX,GraphicsWindow.MouseY)
(左下隅からマウスの位置まで線を引きます)
と
Shapes.Move(L1,GraphicsWindow.MouseX,GraphicsWindow.MouseY)
唯一の問題は、Shapes.Move が次の 3 つの引数しかサポートしないことです。
形状名
バツ
よ
ただし、線 (Shapes.AddLine) を描画するときは、次の 4 つの引数を使用します。
X1
Y1
X2
Y2
つまり、この 2 つの位置しか制御できません。では、残りの 2 つをどのように制御しますか? X1 と Y1 しか変更できない場合、少なくとも shape.move メソッドに似たものを引き続き使用しながら、他の X2 と Y2 の位置を制御できる方法はありますか? 主に、実際にはX2とY2の位置のみを変更したいと思います.1つの点から線を作成してそこに留まらせ、反対の点を変更してマウスに追従させ、形状全体を移動させないようにします. これが不可能な場合、画面全体をクリアすることなく、線の X2 座標と Y2 座標のみを移動/変更する既知の方法はありますか?