ティラノスクリプトでのお前を消す方法
ティラノでゲーム制作している時に地味に困ったのが「消去」。
表示する方法は公式リファレンスにあるものの、いざそれを消すというのは検索しづらい。
テキストや、画像、背景、ボタン、ロールボタンなど「お前を消す」方法が知りたいんや、ってことが多々あったので備忘録です。
なお、ティラノ2年の初心者なので間違っていたらすみません…!
消去関連タグ
パラメーターは一例です。
私がよく使うものだけはいっています。
使う時はタグリファレンスで確認してください。
タグは合ってるはずなのに消えないな? って時
なんか消えねえな? って時はlayerとnameを再確認すると吉です。
割と間違っていがち。
free:特定の画像や文字のみ消す
layerとname必須。
time を指定するとフェードアウトで消えてくれる。
下記の[freeimage]との違いは、[freeimage]は指定レイヤー内の全部を消しますが、こちらはname指定したものだけを消せます。
逆を言えばname指定さえしてあれば、なんでも任意のタイミングで消せます。
[free layer="1" name="gazou" time="1000"]
freeimage:レイヤー内の画像すべてを(同時に)消す
layer必須。
地味にレイヤー指定、わすれがち。っていうか違うレイヤー指定したりしてる。
ビルダーのコンポーネント「イメージ表示」したものも、消したいタイミングでティラノスクリプトコンポーネントを配置し、その中に下記のように書けば、このタグで消えます。(ビルダーのデフォルトレイヤーは layer="1"です。)
[freeimage layer="1" time="1000"]
anim:アニメで消す
時間をかけたり(フェードアウトできる)
layerとname必須、あとでfreeタグも必要。
これはレイヤーの透明度(opacity)を0にしているので、レイヤー内には透明度が0になって見えないだけで要素が残っているので、freeタグとセットで使用(下に追記)する必要があります。
animタグは必ずtimeを待ってから次のタグに進みます(以下で言えば1000ミリ秒後に次のタグが処理されます)
ちなみに opacity は255で完全な不透明。
;animで消す(透明度を0にする)
[anim layer="1" name="gazou" opacity="0" time="1000"]
;透明度が0になっても削除されてはいないので、削除する
[free layer="1" name="gazou" time="100"]
layopt:レイヤーを非表示
layer必須(通常レイヤーでもメッセージレイヤーでも可)
レイヤー内には要素は残っているので、あとでfreeタグも必要
time指定出来ないので、パッと消えます。
visible="true"で表示。visible="false"で非表示
[layopt layer="0" visible="false"]
layopt:メッセージレイヤーごと非表示
上の説明と同じですが、メッセージレイヤーにも使えるよということで。
layer必須
visible="true"で表示。visible="false"で非表示
[layopt layer="message0" visible="false"]
;レイヤーが非表示になっても削除されてはいないので、削除する[free layer="message0" time="100"]
er:メッセージレイヤの文字の消去
表示メッセージレイヤーの文字のみ消す
[er ]
cm:全メッセージレイヤーの文字すべてを消す
[cm ]
cm:ボタン類を消す
[cm ]
clearfix:FIXボタンを消す
メッセージレイヤーとかによくある「SKIP」とかのボタン
FIXあるいはロールボタンとも(つまりfix="true"のボタン)
nameは任意。nameをつけておけば任意のボタンだけ消せる
[clearfix ]
[clearfix name="a"]
#:キャラ名を消す
次に出すメッセージウィンドウで # を1行目に入れれば消えます。
#
なお、キャラ名は ptext で書かれていてnameは chara_name_area(ビルダーでは myproject/自作ゲームプロジェクト名/data/scenario/system/message_window.ks に指定されています)
[ptext name="chara_name_area" layer="message0" color=0xFFFFFF size=26 x=30 y=427 bold="bold" edge="" shadow=""]
おまけ
clearstack:ボタンが押せない場合
ボタンがあるのに押せないよって時は、まずは開発者ツールを確認して(ティラノビルダーは虫マークを押下)エラーがないか確認します。
コールスタックが残って押せないって時は、
ジャンプ先などで
[clearstack ]
と書くと消えます。が、 [call] した先でこれをすると、どこから [call] されたのかという情報もすべてすっからかんに消えて戻れなくなるので、[call] 使用時には使っちゃだめです
