Python による変換とトランジション link

Python は Ren'Py で使用するための新しい変換とトランジションの作成に使用出来ます。

変換 link

変換とは呼び出し可能な python で、 displayable を引数に呼び出されて別の displayable を返します。

init python:

     # This is a transform that uses the right and
     # left transforms.
     def right_or_left(d):
         if switch:
             return right(d)
         else:
             return left(d)

ATL 変換と等価な python は Transform オブジェクトです。

class Transform(child=None, function=None, **properties) link

変換は cropping や rotation, scaling, alpha-blending のような処理をその子に適用します。 transform オブジェクトはその子に適用する 変換プロパティー に対応するフィールドを持ちます。

child

変換が適用される子

function

None を設定するか、変換がレンダリングされるときに呼び出される関数を設定します。関数は3つの引数で呼び出されます。

  • transform オブジェクト

  • 秒数での出現時間軸

  • 秒数でのアニメーション時間軸

関数が秒数を返すなら、その秒数後再度呼び出され、 None なら次のインタラクション開始時に再度呼び出されます。

追加引数は変換プロパティーを設定する値として取られます。

hide_request link

これは関数が呼び出されると True に設定され、変換が飛ばされたことを示します。

hide_response link

hide_request が True なら、これを False に設定して変換が飛ばされないようにできます。

set_child(child) link

この変換の子を変更するために、新しい child と共にこのメソッドを呼び出してください。

update() link

これはコールバックメソッド以外から変換プロパティーが更新されるときも変更が効果を持つと保証するために呼び出されるべきです。

トランジション link

トランジションとは 2 つの引数を取る呼び出し可能な python で、トランジション効果を処理する displayable を返します。 2つの引数は :

old_widget

以前のスクリーンを表す displayable

new_widget

新しいスクリーンを表す displayable

返される displayable はトランジションが実行されるべき秒数を与える delay フィールドを持ちます。

init python:

    def dissolve_or_pixellate(old_widget=None, new_widget=None):
        if persistent.want_pixellate:
            return pixellate(old_widget=old_widget, new_widget=new_widget)
        else:
            return dissolve(old_widget=old_widget, new_widget=new_widget)