トランジションを行うには
trans タグを使います。
基本的にトランジションは、裏ページに [
backlay] タグにてすべての表ページのレイヤ情報を裏ページにコピーして、裏ページで変化させたい部分を image タグなどでいじり、そして trans タグでトランジションを実行します。すると、裏ページに適用した変化が、現在の表ページと入れ替わるように、表ページに適用されます。
まずは、背景レイヤをクロスフェードトランジションで切り替えてみましょう。
[image storage="bg0" page=fore layer=base]
[wait time=200]
*start|スタート
[cm]
こんにちは。背景レイヤを切り替えます。[l][r]
[backlay]
[image storage="bg1" layer=base page=back]
[trans method=crossfade time=1500]
[wt]
切り替わりましたか?
まず、[backlay] タグで表ページのレイヤの情報を裏ページにコピーしています。
そして、裏ページの背景レイヤに、次に表示すべき画像を読み込んでいます。
この時点で、裏ページが表ページと違うのは背景画像だけです。
次に trans タグでトランジションを実行しています。このように、trans の属性で
method=crossfade
と指定するとユニバーサルトランジションとなります。この例では時間は 1.5 秒と指定しています。時間はミリ秒単位で指定するので
time=1500
と指定します。
Note
ミリ秒単位で指定をしますが、精度がミリ秒単位ほどあるというわけではありません。
その後、
wt タグでトランジションの終了を待っています。
KAG は wt タグを書かないとトランジションを待たずに次にいってしまいますので、wt タグを忘れないようにしてください。
Note
トランジションに限らず、KAG の「時間をかけて何かを処理するもの」のほとんどのタグはそれ自体では終了を待たずに、終了を待つためのタグが別にあります。これにより、トランジションしながらBGM のフェードアウト、というようなことができます。
また、
対応する「待つ」タグは必ず書いてください。異種類の物でまとうとする場合 ( トランジションの終了を wait タグで待つなど ) でも、正しく対応する「待つ」タグは一応書いておく必要があります。
また、ユニバーサルトランジションを使ってみると以下のようになります。
[image storage="bg0" page=fore layer=base]
[wait time=200]
*start|スタート
[cm]
こんにちは。背景レイヤを切り替えます。[l][r]
[backlay]
[image storage="bg1" layer=base page=back]
[trans method=universal rule="rule1" vague=1 time=1500]
[wt]
切り替わりましたか?
この例でも trans タグでトランジションを実行しています。このように、trans の属性で
method=universal
と指定するとユニバーサルトランジションとなります ( method タグを省略しても universal であると見なされます )。この例では、ルール画像として "rule1" 、時間は 1.5 秒、あいまい領域値は 1 という設定です。
また、これをスクロールトランジション、右から、居座りなしでトランジションを行うとすると・・・
[image storage="bg0" page=fore layer=base]
[wait time=200]
*start|スタート
[cm]
こんにちは。背景レイヤを切り替えます。[l][r]
[backlay]
[image storage="bg1" layer=base page=back]
[trans method=scroll from=right stay=nostay children=false time=1500]
[wt]
切り替わりましたか?
となります。ここでは
children=false
と指定しているのは、このように指定しないと「
子レイヤ」も一緒に移動してしまうからです。KAG では、背景レイヤが親、前景レイヤとメッセージレイヤは背景レイヤの子にあたります。
子レイヤも一緒にスクロールしていいのであれば
children=true
にしてもかまいません。