Skip to content

Instantly share code, notes, and snippets.

@lost-nd-xxx
Last active March 13, 2024 09:16
Show Gist options
  • Save lost-nd-xxx/d9e99a33c6e887077d657ec5311bbd48 to your computer and use it in GitHub Desktop.
Save lost-nd-xxx/d9e99a33c6e887077d657ec5311bbd48 to your computer and use it in GitHub Desktop.
数値で画像ゲージを描画する里々辞書
#数値で画像ゲージを描画する
#これらのテキストファイルはPublic Domainで公開します。ご自由にお使いください。
#◆使い方
#(call、画像ゲージ、現在の進度の数値、100%の時の数値、画像1、画像2、画像の横の大きさ、画像の縦の大きさ[、ゲージを塗る方向])
#◆引数
#引数0: 現在の進度の数値
#引数1: 100%の時の数値
#引数2: 画像1 ゲージの中身が無い方
#引数3: 画像2 ゲージの中身がある方
#引数4: 画像の横の大きさ
#引数5: 画像の縦の大きさ
#引数6: [省略可能]1で右から左へゲージが塗られる
#    それ以外か省略した場合は左から右へ
#画像1と画像2は同じ大きさにすること
#この関数は半透明のゲージには対応していません
################################
#ここから下が本体
################################
@画像ゲージ
(whenlist、(nop、)、
(is_digit、(A0))==0、
引数0が数値ではありません、
(is_digit、(A1))==0、
引数1が数値ではありません、
(is_digit、(A4))==0、
引数4が数値ではありません、
(is_digit、(A5))==0、
引数5が数値ではありません、
(A6)!=1、
(画像ゲージ_本体1)、
(画像ゲージ_本体2)
#数値以外をはじく、数値が入っているなら振り分ける
@画像ゲージ_本体1
(set、SAORI引数の計算、無効)φ
\_nφ
(whenlist、(nop、)、φ
(calc_float、(A0)>=(A1))、φ
\_b["(A3)",inline,,--option=opaque,--option=foreground]、φ
(calc_float、(A0)<=0)、φ
\_b["(A2)",inline,--option=opaque,--option=foreground]、φ
1、φ
\_b["(A2)",inline,--option=opaque,--option=foreground]φ
\_l[@-(zen2han、(A4)),]φ
\_b["(A3)",inline,--clipping=0 0 (calc_float、(A4)*(A0)/(A1)) (zen2han、(A5)),--option=opaque,--option=foreground]φ
)φ
\_nφ
(set、SAORI引数の計算、自動)
#左から右へ塗る
@画像ゲージ_本体2
(set、SAORI引数の計算、無効)φ
\_nφ
(whenlist、(nop、)、φ
(calc_float、(A0)>=(A1))、φ
\_b["(A3)",inline,,--option=opaque,--option=foreground]、φ
(calc_float、(A0)<=0)、φ
\_b["(A2)",inline,--option=opaque,--option=foreground]、φ
1、φ
\_b["(A2)",inline,--option=opaque,--option=foreground]φ
\_l[@-(calc_float、(A4)*(A0)/(A1)),]φ
\_b["(A3)",inline,--clipping=(calc_float、(A4)*((A1)-(A0))/(A1)) 0 (zen2han、(A4)) (zen2han、(A5)),--option=opaque,--option=foreground]φ
)φ
\_nφ
(set、SAORI引数の計算、自動)
#右から左へ塗る
#数値で画像ゲージを描画する テスト表示
*qが押された
>画像ゲージテスト
*画像ゲージテスト
:\_q画像ゲージテスト
\![*]\__q[On画像ゲージテスト1,0]進捗ゲージ風\__q
\![*]\__q[On画像ゲージテスト2,0]体力ゲージ風\__q
\![*]\__q[script:\e]閉じる\__q
*On画像ゲージテスト1
:\_q左から右に塗る例です 現在: (R0)%
(call、画像ゲージ、(R0)、100、gauge_neko1.png、gauge_neko2.png、200、40)
↓ゲージを変動させてみましょう↓
\__q[On画像ゲージテスト1,-25]-25%\__q φ
\__q[On画像ゲージテスト1,0]0%\__q φ
\__q[On画像ゲージテスト1,25]25%\__q φ
\__q[On画像ゲージテスト1,50]50%\__q φ
\__q[On画像ゲージテスト1,75]75%\__q φ
\__q[On画像ゲージテスト1,100]100%\__q φ
\__q[On画像ゲージテスト1,125]125%\__q
\![*]\__q[画像ゲージテスト]メニューへ戻る\__q
*On画像ゲージテスト2
:\_q右から左に塗る例です 現在: (R0)%
(call、画像ゲージ、(R0)、100、gauge_hp1.png、gauge_hp2.png、200、20、1)
↓ゲージを変動させてみましょう↓
\__q[On画像ゲージテスト2,125]125%\__q φ
\__q[On画像ゲージテスト2,100]100%\__q φ
\__q[On画像ゲージテスト2,75]75%\__q φ
\__q[On画像ゲージテスト2,50]50%\__q φ
\__q[On画像ゲージテスト2,25]25%\__q φ
\__q[On画像ゲージテスト2,0]0%\__q φ
\__q[On画像ゲージテスト2,-25]-25%\__q
\![*]\__q[画像ゲージテスト]メニューへ戻る\__q
################################
#ネットワーク更新で使う例
################################
*OnUpdateBegin
:\_qネットワーク更新があるか調べます。\w9\w9
*OnUpdateReady
:\_q更新を開始します。\w9\w9
*OnUpdateComplete
:\_q(when、(compare、(R0)、none)==0、更新完了しました。、更新はありませんでした。)\w9\w9
*OnUpdate.OnDownloadBegin
:\_qファイルDL状況に応じてゲージを変動させています。\n[50]
(call、画像ゲージ、(R1)、(R2)、gauge_neko1.png、gauge_neko2.png、200、40)\w9
#開発用パレットの「開く/実行」→「Test Update Event: Normal」を実行すると試せます
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment