質問コーナー5:一定時間後にBGMを消去するには

おはようございます。
スクリプト研究所です。

今日は、スクリプト研究所に寄せられたご質問に、答えて行こうかと思います。

質問5:一定時間後にBGMを消去したいです。

BGM:blank
という命令を使うと、BGMをフェイドアウト出来ます。

lf[0]=GetTimer
という命令を使うと、ある時点からの経過時間(ミリ秒単位)を取得できます。
例えば13957198212693 という値が返ってくるのですが、さてこの値を使用して計算しようとすると、(lf変数の)有効桁数が原因で妙なことになります。

計算する場合には、取得した数値にすこしおまじないをしてからご利用ください。
なお、Timer と スコアのスタート命令(StartScore:ミリ秒、増減値 例~StartScore:1000,1 で1秒に付き1増加します)とは両立しません。ご注意くださいませ。

//一定時間でBGM終了
//開始時タイマー
lf[0]=GetTimer
lf[6]=flagAdd:lf[0],0
lf[6]=flagSub:lf[6],2147483648
lf[7]=flagMod:lf[6],1000
lf[6]=flagSub:lf[6],lf[7]
lf[6]=flagDiv:lf[6],1000

lf[16]=flagAdd:lf[6],0

//制限時間
lf[19]=45

BGM:IM1011_0021_03

Segment:3000


//ループ中タイマー
lf[0]=GetTimer
lf[6]=flagAdd:lf[0],0
lf[6]=flagSub:lf[6],2147483648
lf[7]=flagMod:lf[6],1000
lf[6]=flagSub:lf[6],lf[7]
lf[6]=flagDiv:lf[6],1000

lf[17]=flagAdd:lf[6],0

lf[8]=flagAdd:lf[16],lf[19]
lf[8]=flagSub:lf[8],lf[17]


Message:1
残り;lf[8];

->Segment:3000;(lf[8]>0)


BGM:blank


Message:
;lf[19];秒で終了しました

質問コーナー5:一定時間後にBGMを消去するには” に対する意見

  1. ピンバック: スクリプト研究所 記事一覧(目次) | スクリプト研究所

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です