乗りかかった船なのでもうちょっとやってみます
イメージ画像と今までの説明から考えると
一定間隔ごとに最小最大値を取得していけば良いのではと思うのですがどうでしょうか
一定間隔ごとの最小最大値は latest_ が付いた変数に格納されます
なおマウスの座標を記録していますが
これは動作確認のための移動軌跡描画用に使っているだけです
#const interval_time 50 ; 計測する間隔
dim rec_X , interval_time ; マウス移動軌跡(描画用)
dim rec_y , interval_time
repeat
latest_X_MIN = pxMIN ; 最新の最小最大値
latest_X_MAX = pxMAX
latest_Y_MIN = pyMIN
latest_Y_MAX = pyMAX
pxMIN = mousex ; 最小最大値リセット
pxMAX = mousex
pyMIN = mousey
pyMAX = mousey
repeat interval_time ; 計測間隔のループ
redraw 0
color 0 , 0 , 0
boxf
pos 0 , 0
color 255 , 255 , 255
mes "COUNT:" + cnt + "/" + interval_time
mes "latest MIN (" + latest_X_MIN + " , " + latest_Y_MIN + ")"
mes "latest MAX (" + latest_X_MAX + " , " + latest_Y_MAX + ")"
px = mousex
py = mousey
if px < pxMIN { pxMIN = px } ; 最小最大値更新
if px > pxMAX { pxMAX = px }
if py < pyMIN { pyMIN = py }
if py > pyMax { pyMAX = py }
rec_X(cnt) = px ; マウスの座標を記録(描画用)
rec_Y(cnt) = py
color 0 , 127 , 255 ; マウスの軌跡を描画
c = cnt
repeat interval_time - 1
if c > cnt {
line rec_X(cnt) , rec_Y(cnt) , rec_X(cnt + 1) , rec_Y(cnt + 1)
}
loop
color 127 , 127 , 0 ; 更新中の最小最大値の範囲
line pxMIN , 0 , pxMIN , 480
line pxMAX , 0 , pxMAX , 480
line 0 , pyMIN , 640 , pyMIN
line 0 , pyMAX , 640 , pyMAX
color 255 , 255 , 255 ; 前回の最小最大値の範囲
line latest_X_MIN , 0 , latest_X_MIN , 480
line latest_X_MAX , 0 , latest_X_MAX , 480
line 0 , latest_Y_MIN , 640 , latest_Y_MIN
line 0 , latest_Y_MAX , 640 , latest_Y_MAX
redraw 1
wait 8
loop
loop
ちなみに limit は
p1 で指定した“数値”を p2 から p3 の範囲に収まる値で返すもので
最小値や最大値を返すものではありません
repeat 20
a = limit(cnt , 5 , 15)
mes "" + cnt + " → " + a
loop