基本的な考え方は、キーを押している時間(フレーム数)を変数に保存しておき
その数値によって処理を振り分けます。
下のスクリプトでは変数chg1とchg2にキーを押した時間(処理上2ずつ増加)を保存しています。
*main
getkey key1, 32 ; スペースキー入力受付
if key1 = 1 {
chg1 = limit(chg1 + 2, 0, 255) ; ボタンを押しているフレーム数を保存
; ↓ボタンを押したフレーム数によって処理を切り替え
if chg1 >= 128 : cr1 = 0 : cg1 = 200 : cb1 = 0
if chg1 >= 255 : cr1 = 255 : cg1 = 0 : cb1 = 0
} else {
chg1 = 0 : cr1 = 0 : cg1 = 0 : cb1 =255 ; ボタンを押してなければリセット
}
getkey key2, 13 ; エンターキー入力受付
if key2 = 1 {
chg2 = limit(chg2 + 2, 0, 255) ; ボタンを押しているフレーム数を保存
} else : chg2 = limit(chg2 - 10, 0, 255) ; ボタンを押してなければフレーム数減少
redraw 0
color 200, 255, 255 : boxf ; 画面クリア
color cr1, cg1, cb1 : boxf 0, 0, chg1 , 20 ; ゲージ表示
pos chg1, 0 : mes "" + chg1
color chg2, 0, 255 - chg2 : boxf 0, 40, chg2 , 60 ; ゲージ表示
pos chg2, 40 : mes "" + chg2
redraw 1
await 16
goto *main