ティラノスクリプト - メモ
ティラノスクリプトのメモ。

ループする [mtext] マクロ

2022-07-07 メモ ptext , マクロ , mtext
この記事をシェアする

[mtext] は一回で終わってしまうので、繰り返して欲しい時は textillate を指定するのですが、面倒くさいのでマクロにしてみた。

リピートするテキストなので [rtext] にしましたが、マクロ名は好きに。

コード

[macro name=rtext]

  [iscript]
    tf.layer = mp.layer || "0";
    tf.name = "rtext";
    if(mp.name) tf.name += "," + mp.name;
  [endscript]

  [ptext layer=&tf.layer name=&tf.name *]

  [iscript]
    mp.name = tf.name.split(",");
    let new_name = "";
    for (let i = 0; i < mp.name.length; i++) {
      new_name += "." + mp.name[i];
    }
    let count = 1;

    $(new_name).textillate({
      loop: mp.loop || true,
      minDisplayTime: mp.time || 2000,
      initialDelay: mp.initialdelay || 0,
      in:{
        effect : mp.in_effect || "fadeIn",
        delayScale: mp.in_delay_scale || 1.5,
        delay: mp.in_delay || 50,
        sync: mp.in_sync || false,
        shuffle: mp.in_shuffle || false,
        reverse: mp.in_reverse || false,
        callback: function () {
          if(Number(mp.count) == count && mp.fadeout != "true"){
            const rtext = $(new_name).html();
            $(new_name).html(rtext);
          }
        }
      },
      out:{
        effect : mp.out_effect || "fadeOut",
        delayScale: mp.out_delay_scale || 1.5,
        delay: mp.out_delay || 50,
        sync: mp.out_sync || false,
        shuffle: mp.out_shuffle || false,
        reverse: mp.out_reverse || false,
        callback: function () {
          if(mp.count){
            if(Number(mp.count) > count){
              count ++;
            }else{
              if(mp.fadeout == "true") $(new_name).remove();
            }
          }
        }
      }
    });
    delete tf.layer;
    delete tf.name;
  [endscript]
[endmacro]

使い方

ほぼ [mtext] と同じパラメータがそのまま使えます。

自動的にclass名「rtext」が付きます。free タグで制御する時に使用してください。

同時に複数のテキストを表示する場合は、name パラメータは必須です。別々の名前を指定してください。

追加したパラメータ

パラメータ名 必須 説明 初期値
loop × ループするか。しない場合は [mtext] 使えば良いと思うけど…。 true
initialdelay × アニメーション開始までの遅延時間。 0
count × 何回ループするか。 -

使えなくなるパラメータ

パラメータ名 必須 説明 初期値
wait × count 使用時に処理待ちしたい時は、[wait] タグを使ってください。 -

雑解説

色々面倒くさいので [ptext] にtextillate を指定しています。

この記事をシェアする
縦書きセーブ画面 メッセージ縁取りプラグイン

コメント送信フォーム


※ Eメールは公開されません
Loading...
 画像の文字を入力してください