if a のコメントを入れ替えると動作が変わります。
if a のコメントを入れ替えると動作が変わります。
obj_num = 15 ; 点の数
obj_arm = 30.0 ; 点間の距離
ddim obj_px, obj_num
ddim obj_py, obj_num
*main
redraw 1 : await 16 : redraw 0 : color 255, 255, 255 : boxf : color : pos 0,0
obj_px(0) = double(mousex)
obj_py(0) = double(mousey)
repeat obj_num - 1
i = cnt + 1
; 距離
x = obj_px(i) - obj_px(cnt)
y = obj_py(i) - obj_py(cnt)
a = sqrt(x * x + y * y)
; 牽引されている点の座標を計算
;if a > obj_arm { ; 紐
if a ! 0 { ; 固い梁
; ターゲット(obj_px(0),obj_py(0))から既定の長さ距離の位置に移動
obj_px(i) = x / a * obj_arm + obj_px(cnt)
obj_py(i) = y / a * obj_arm + obj_py(cnt)
}
loop
; 描画
r = 5
color 0, 0, 255
circle obj_px(0)-r, obj_py(0)-r, obj_px(0)+r, obj_py(0)+r
repeat obj_num - 1
i = cnt + 1
color 255, 0, 0
circle obj_px(i)-r, obj_py(i)-r, obj_px(i)+r, obj_py(i)+r
color
line obj_px(i), obj_py(i), obj_px(cnt), obj_py(cnt)
loop
goto *main