Ren'Py memo

Ren'Pyの個人的なメモ

Ren'Pyのスクリーンショット機能にウォーターマークを入れてみる

※この方法はスクリーンショットの度にウォーターマークがチラつくため、あまり実用的ではありません。内容としてはRen’Py内のSキーを押した時に使用されるスクリーンショット機能に画像を表示する動きを挟むものです。外部ソフトによるスクリーンショットでは実行されません。

1.スクリーンを用意する

screens.rpy

screen logo():
    timer 0.01 action Hide("logo")
    add "logo.png" xpos 10 ypos 10 # 画像の場合はこちら
    text "circle name" xpos 10 ypos 10 #テキストの場合はこちら

ウォーターマークを表示する用のスクリーンを用意する。logoの名前は変更可能。画像を用意する場合はaddの行を使い、textをコメントアウトする。テキストのみにする場合は逆の方法で。どちらも使う場合はどちらも残す。xpos yposなどで位置を調整。表示した後、時間経過で閉じるようにtimerを記述している。

2. Config変数に記述する

options.rpy(どこでもいい)

define config.pre_screenshot_actions =  [Hide("notify", immediately=True),Show("logo")]

引用:Config 変数 — Ren'Py Documentation

スクリーンショットを撮るときに呼び出されるアクションのリストの変数config.pre_screenshot_actionsに、上記で作成したスクリーンの表示を指定する。スクリーンショットに移したくない要素の一時的な非表示のために使用されるが、今回はウォーターマークの表示のために使う(Hide("notify")~はデフォルトで設定されている内容)

余談

    transform alpha_set:
        alpha 0.8

透明度を設定するtransformを作って add や text の一番後ろに at alpha_set(名前変更可)で調整することも可。