トランジション link

トランジションは with ステートメント やその他の場面で使え、場面の変化に効果を適用します。Ren'Py には定義済みのトランジションがあり、with ステートメントに直接与えられます。トランジションクラスを使って新しいトランジションを作成することもできます。

定義済みのトランジション link

定義済みのトランジションは、with ステートメントに直接与えられます。例えば

show bg washington
with dissolve
fade link

0.5 秒かけてフェードで暗転し、さらに 0.5 秒かけて新しい画面にフェードします。 Fade() トランジションクラスのインスタンスです。

dissolve link

0.5 秒かけて元の画面から新しい画面にディゾルブします。 Dissolve() トランジションクラスのインスタンスです。

pixellate link

0.5 秒かけて元の画面をピクセレートアウトし、さらに 0.5 秒かけて新しい画面をピクセレートインします。Pixellate() トランジションクラスのインスタンスです。

move link

0.5 秒かけて画像を新しい場所に移動します。 MoveTransition() トランジションクラスのインスタンスです。

moveinright link

Also: moveinleft, moveintop, moveinbottom

0.5 秒かけて画像を画面の対応する方向から進入させます。

moveoutright link

Also: moveoutleft, moveouttop, moveoutbottom

0.5 秒かけて画像を画面の対応する方向へ退出させます。

ease link

Also: easeinright, easeinleft, easeintop, easeinbottom, easeoutright, easeoutleft, easeouttop, easeoutbottom

move- 類と同じですが、トランジションのはじめと終わりがコサインベースで遅くなります。

zoomin link

0.5 秒かけて画像をズームインで進入させます。

zoomout link

0.5 秒かけて画像をズームアウトで退出させます。

zoominout link

0.5 秒かけて画像のズームアウトによる退出と別の画像のズームインによる進入を同時に行います。

vpunch link

呼び出されたとき、画面を 4 分の 1 秒間垂直に揺らすトランジションです。

hpunch link

呼び出されたとき、画面を 4 分の 1 秒間水平に揺らすトランジションです。

blinds link

画面に1秒間続く垂直ブラインド効果を与えるトランジションです。 ImageDissolve() トランジションクラスのインスタンスです。

squares link

画面に1秒間続くスクエア効果を与えるトランジションです。

wipeleft link

Also: wiperight, wipeup, wipedown

画面を与えられた方向へワイプします。 CropMove() トランジションクラスのインスタンスです。

slideleft link

Also: slideright, slideup, slidedown

新しい画面を与えられた方向へスライドインします。 CropMove() トランジションクラスのインスタンスです。

slideawayleft link

Also: slideawayright, slideawayup, slideawaydown

古い画面を与えられた方向にスライドします。 CropMove() トランジションクラスのインスタンスです。

pushright link

Also: pushleft, pushtop, pushbottom

新しい画面で以前の画面をスライドアウトします。 PushMove() トランジションクラスのインスタンスです。

irisin link

Also: irisout

新しい画面の表示や元の画面の非表示に矩形の絞りを使います。 CropMove() トランジションクラスのインスタンスです。

トランジションクラス link

トランジションクラスは、新しいトランジションを作成するために呼び出される関数です。これらの関数にパラメーターを渡すことで、全てのトランジション群が作成できます。

トランジションクラスの呼び出しは、with ステートメントの一部としてなされます。例えば

# A very long dissolve.
with Dissolve(10.0)

同じトランジションクラスを何度も呼び出さなくて済むように、 define ステートメント を使って変数にトランジションを代入できます

define annoytheuser = Dissolve(1.0)

label start:
     show bg washington
     with annoytheuser
AlphaDissolve(control, delay=0.0, alpha=False, reverse=False) link

制御用の displayable (たいていはATL 変換 をならべたもの) を使ってあるスクリーンから別のスクリーンへトランジションするトランジションを返します。変換は評価され、変換が不透明な領域は新しい 画面が使われ、変換が透明な領域は元の画面が使われます。

control

制御用の displayable です。

delay

トランジションが終了までにかける時間です。

alpha

True であれば、画像は背後のものと合成されます。デフォルトの False であれば、画像は不透明で背後のものを上書きします。

reverse

True なら、アルファチャンネルが反転されます。不透明な領域は元の画像が使われ、透明な領域は新しい画像が使われます。

ComposeTransition(trans, before, after) link

3 つ以内のトランジションから構成される新しいトランジションを返します。 beforeafter トランジションは、None でなければ、元の場面と新しい場面にそれぞれ適用されます。更新されたこれらの元の場面と新しい場面が trans トランジションに与えられます。

# Move the images in and out while dissolving. (This is a fairly expensive transition.)
define moveinoutdissolve = ComposeTransition(dissolve, before=moveoutleft, after=moveinright)
CropMove(time, mode="slideright", startcrop=(0.0, 0.0, 0.0, 1.0), startpos=(0.0, 0.0), endcrop=(0.0, 0.0, 1.0, 1.0), endpos=(0.0, 0.0), topnew=True) link

場面を切り抜いてスクリーンに配置するトランジションを返します。これは、場面の矩形のスライスに関わる様々なエフェクトを実装するのに使えます。

time

トランジションにかける時間です。

mode

トランジションのモードの名前です。モードには三種類あります。ワイプ、スライド、その他です。カスタムモードを定義するために 「 custom 」 にもできます。

ワイプでは、画像は固定されたままで、トランジションが進むにつれて見える領域が増えていきます。例えば、左から右へのワイプである 「 wiperight 」 では、まず画像の左端がスクリーンの左端に現れ、画像の中央が現れ、最後には画像の右端がスクリーンの右端に現れます。ワイプには、その他 「 wipeleft 」,「 wipedown 」, そして 「 wipeup 」 があります。

スライドでは、画像が動きます。ですから 「slideright」では、画像は右端がスクリーンの左端から現れ出し、トランジションが進むにつれて右に進みます。スライドには、その他 「slideleft」、「slidedown」, そして 「slideup」 があります。

スライドアウェイは、元の画像が新しい画像の上を動きます。スライドアウェイには、「slideawayright」, 「slideawayleft」, 「slideawayup」, そして 「slideawaydown」 があります。

矩形の絞りを開く 「irisin」 と矩形の絞りを閉じる 「irisout」 もサポートしています。

以下のパラメーターは、モードが 「custom」 であるときのみ考慮されます。ポジションはスクリーンのサイズに対する割合で、クロップは画像のサイズに対する割合です。ですから、(0.25, 0.0, 0.5, 1.0) のクロップは画像の中半分を切り抜きます。

startcrop

手前の画像から最初に切り抜かれる矩形です。x, y, width, そして height からなる 4 要素のタプルです。

startpos

手前の画像が最初に描画されるスクリーン上の場所です。x, y からなる 2 要素のタプルです。

endcrop

手前の画像から最後に切り抜かれる矩形です。x, y, width, そして height からなる 4 要素のタプルです。

endpos

手前の画像が最後に描画されるスクリーン上の場所です。x, y からなる 2 要素のタプルです。

topnew

True なら、切り取られてたり動いたりする場面 (そして手前にある方の場面) は新しい場面です。 False なら、元の場面です。

define wiperight = CropMove(1.0, "wiperight")
define wipeleft = CropMove(1.0, "wipeleft")
define wipeup = CropMove(1.0, "wipeup")
define wipedown = CropMove(1.0, "wipedown")

define slideright = CropMove(1.0, "slideright")
define slideleft = CropMove(1.0, "slideleft")
define slideup = CropMove(1.0, "slideup")
define slidedown = CropMove(1.0, "slidedown")

define slideawayright = CropMove(1.0, "slideawayright")
define slideawayleft = CropMove(1.0, "slideawayleft")
define slideawayup = CropMove(1.0, "slideawayup")
define slideawaydown = CropMove(1.0, "slideawaydown")

define irisout = CropMove(1.0, "irisout")
define irisin = CropMove(1.0, "irisin")
Dissolve(time, alpha=False, time_warp=None) link

元の場面から新しい場面にディゾルブするトランジションを返します。

time

ディゾルブにかける時間です。

alpha

True なら、ディゾルブはトランジションの結果をスクリーンとアルファ合成します。 False なら、トランジションの結果はスクリーンを置き換え、これはより効率的です。

time_warp

タイムラインを調節する関数です。None を設定するか、0.0 から 1.0 の間の小数の時間を引数に取り、同じ範囲の数を返す関数を指定します。

Fade(out_time, hold_time, in_time, color="#000") link

out_time 秒かけて color で満たされたスクリーンにフェードし、そのスクリーンを hold_time 秒保ち、それから in_time 秒かけて新しいスクリーンにフェードするトランジションを返します。

# Fade to black and back.
define fade = Fade(0.5, 0.0, 0.5)

# Hold at black for a bit.
define fadehold = Fade(0.5, 1.0, 0.5)

# Camera flash - quickly fades to white, then back to the scene.
define flash = Fade(0.1, 0.0, 0.5, color="#fff")
ImageDissolve(image, time, ramplen=8, reverse=False, alpha=True, time_warp=None) link

ディゾルブの過程を制御する画像を使い、元の場面から新しい場面にディゾルブするトランジションを返します。この画像の白いビクセルに対応する部分が最初にディゾルブし、黒いピクセルに対応する部分が最後にディゾルブします。

image

使用する制御画像です。これは画像ファイルまたは画像マニピュレータでなければなりません。この画像はディゾルブするスクリーンと同じ大きさでなければなりません。

time

ディゾルブにかける時間です。

ramplen

使用する ramp の長さです。これは 2 の整数乗でなければなりません。これがデフォルト値の 8 であるとき、白いピクセルが完全にディゾルブすると、一段階ごとに 8 シェード暗いピクセルのディゾルブインが進みます。

reverse

True なら、黒いピクセルの方が白いビクセルより先にディゾルブインします。

alpha

True なら、ディゾルブはトランジションの結果をスクリーンとアルファ合成します。 False なら、トランジションの結果はスクリーンを置き換え、これはより効率的です。

time_warp

タイムラインを調節する関数です。None を設定するか、0.0 から 1.0 の間の小数の時間を引数に取り、同じ範囲の数を返す関数を指定します。

define circirisout = ImageDissolve("circiris.png", 1.0)
define circirisin = ImageDissolve("circiris.png", 1.0, reverse=True)
define circiristbigramp = ImageDissolve("circiris.png", 1.0, ramplen=256)
MoveTransition(delay, enter=None, leave=None, old=False, layers=['master'], time_warp=None, enter_time_warp=None, leave_time_warp=None) link

( 同じタグを持つ ) 画像の以前の場面と新しい場面の座標を補完するトランジションを返します。

delay

補完が終わるまでの時間です。

enter

None でない場合、その場面に挿入される画像も移動されます。 enter には、その画像が開始位置に至るために適用される変換を指定します。

leave

None でない場合、その場面から去る画像も移動されます。 leave には、その画像が最終的な位置に至るために適用される変換を指定します。

old

True なら以前の画像が新しいものに優先して使用されます。

layers

トランジションが適用されるレイヤーのリストです。

time_warp

補完に適用されるタイムワープ関数です。これは 0.0 から 1.0 までの数字を取り、同じ範囲の数字を返すはずです。

enter_time_warp

画像が場面に入るときに適用されるタイムワープ関数です。

leave_time_warp

画像が場面から出るときに適用されるタイムワープ関数です。

MultipleTransition(args) link

次々に複数のトランジションを実行できるトランジションを返します。

args

奇数個のアイテムが格納された*リスト*です。1番目、3番目、その他の奇数番目のアイテムにはシーンを、偶数番目のアイテムにはトランジションを指定します。シーンとして指定できるものは:

  • displayable

  • False, トランジション前の場面を表す。

  • True, トランジション後の場面を表す。

ほぼ必ず、最初の引数は False で最後の引数は True です。

args 内のトランジションが順に適用されます。各トランジションは、その前に置かれたスクリーンから後に置かれたスクリーンにトランジションします。たとえば

define logodissolve = MultipleTransition([
    False, Dissolve(0.5),
    "logo.jpg", Pause(1.0),
    "logo.jpg", dissolve,
    True])

この例は、logo.jpg にディゾルブし、1 秒待ち、それから新しい場面にディゾルブします。

Pause(delay) link

新しいスクリーンを delay 秒間表示するだけのトランジションを返します。MultipleTransition の一部にするのに便利です。

Pixellate(time, steps) link

元のスクリーンをピクセレートアウトし、それから新しいスクリーンをピクセレートインするトランジションを返します。

time

トランジションにかける合計時間の秒数です。

steps

それぞれの方向に行われる段階の数です。各段階ごとに、一つ前の段階の 2 倍のピクセルができます。よって、ピクセレートの 5 段階目では 32x32 のピクセルができます。

PushMove(time, mode="pushright") link

新しい場面で元の場面を "plush" するディゾルブするトランジションを返します。

time

トランジションにかける時間です。

mode

これらには 4 つのモード "pushright", "pushleft", "pushup", "pushdown" があり、指定された方向に以前のスクリーン押し出します。

define pushright = PushMove(1.0, "pushright")
define pushleft = PushMove(1.0, "pushleft")
define pushup = PushMove(1.0, "pushup")
define pushdown = PushMove(1.0, "pushdown")

トランジション族 link

トランジション族は、大量の関連するトランジション族を定義する関数群です。

define.move_transitions(prefix, delay, time_warp=None, in_time_warp=None, out_time_warp=None, old=False, layers=[u'master'], **kwargs) link

これは、move トランジションや ease トランジションみたいなトランジション属を定義します。与えられた prefix に対しては、以下のトランジションを定義します

  • prefix- delay 秒かけて画像を新しい位置に動かすトランジションです。

  • prefixinleft, prefixinright, prefixintop, prefixinbottom - delay 時間かけて画像を新しい位置に動かすトランジションです。新しく表示される画像は適切な側から現れます。

  • prefixoutleft, prefixoutright, prefixouttop, prefixoutbottom - delay 時間かけて画像を新しい位置に動かすトランジションです。新しく隠蔽される画像は適切な側へ消えます。

time_warp, in_time_warp, out_time_warp

タイムワープ関数です。これらは移動が完了するまでの時間に対する割合を表す 0.0 から 1.0 の小数を与えられ、線形移動が完了するまでの距離に対する割合を表す同じ範囲の小数値を返します。

これは、一定の速度では動かない画像を動かす関数を定義するのに使えます。

これら3つの引数は、スクリーンにある画像、新しく現れる画像、新しく消える画像に、それぞれ使われます。

old

True なら、トランジションは新しい displayable の代わりに元の displayable を動かします。

layers

トランジションが適用されるレイヤーです。

# This defines all of the pre-defined transitions beginning
# with "move".
init python:
    define.move_transitions("move", 0.5)