0::/""# --------ver 1.0-------- 0::/""# --------変数-------- 0::/""# 最後にコメントされた再生秒数 0::/lastCommentVPos = 0; 0::/""# テキスト配列 0::/txtArray=[]; 0::/28.times(\txtArray[@0]=dt(text:" ", x:-10, y:384, z:1, size:60, color:0xffffff, pos:'ue hidari', mover:'',filter:'')); 0::/""# テキスト配列用カウンタ 0::/count=-1; 0::/""# --------関数-------- 0::/""# FromとToを指定して乱数を取得します。 0::/def_kari("randomFromTo", ($1 < $2).alt($1 + rand() % ($2 - $1 + 1), $1)); 0::/""# テキスト配列からテキストを取得します。 0::/def_kari("newText", txtArray[(++count)%txtArray.size]); 0::/""# テキストの下移動処理を開始します。 0::/def(startDownText(), txt := newText(); initDownText(txt); txtBack := newText(); initDownTextBack(txt, txtBack); i := 1; while_kari(i <= 110, timer(timer:0.05 * i, then: downText(txt); downText(txtBack); ); i++;) ); 0::/""# テキストを初期化します。 0::/def(initDownText(txt), txt.text = chat.message; txt.x = randomFromTo(0, 514 - 25 * chat.message.size); txt.y = -40; txt.z=2; initTextSize(txt); txt.color = chat.color; txt.alpha=3;); 0::/""# テキストのサイズを初期化します。 0::/def(initTextSize(txt), if(chat.size == '', then: txt.size = 26; txt.bold = false;); if(chat.size == 'big', then: txt.size = 40; txt.bold = false;); if(chat.size == 'small', then: txt.size = 14; txt.bold = true;); ); 0::/""# 影用のテキストを初期化します。 0::/def(initDownTextBack(txt, txtBack), txtBack.text = txt.text; txtBack.x = txt.x; txtBack.y = txt.y; txtBack.z = txt.z - 1 ; txtBack.size = txt.size; if(txt.color == 0x000000, then:txtBack.color = 0xffffff, else:txtBack.color = 0x000000); txtBack.alpha=txt.alpha; txtBack.filter = 'kasumi'; txtBack.bold = txt.bold); 0::/""# テキストを下に移動させます。 0::/def(downText(txt), txt.y += 4;); 0::/""# --------メイン処理-------- 0::/""# 標準のコメントを置換処理により非表示にする 0::/replace(dest:" ", fill:true); 0::/""# コメントトリガー 0::/commentTrigger(if(((chat.vpos-lastCommentVPos)>0.1) || chat.isYourPost==true, then:lastCommentVPos=chat.vpos; startDownText();))