Ren’Py改造メモ(14)

セーブロード画面に説明分を載せる

ゲーム開始直後にセーブしたデータにプロローグと載せるなど、セーブに説明文を載せる方法です。
これはRen’Py改造メモ(9)にある表示中の文字をセーブ・ロード画面に表示する機能とは排他的ですので同時に使いたい場合は適当に改造してください。

Ren’Py は save_name 変数の内容をそのセーブデータの説明文として扱い、FileSaveName(name)を使用することでセーブデータから説明文を得られます。

吉里吉里のように日本語をラベル名に出来れば話しは早いのですが、Ren’Pyでそれは無理です。(実は出来ますけどどんな不具合が出るのかわかりませんからやめた方がいいです。)
なので以下のようにラベル名とそれに対応する説明文の辞書を作ります。

init python:
    label_descript = {
    "start": u"スタート",
    "test2": u"2",
    "test3": u"3",
    "test4": u"4",
    "test5": u"5",
    "test6": u"6",
    "test7": u"7",
    "test8": u"8",
    }

後はconfig.label_callbackに現在のラベルに応じてsave_nameを変更する関数を登録します。


    def label_callback(name, abnormal):
        global save_name
        if name in label_descript.keys():
            save_name = label_descript[name]

    config.label_callback = label_callback

標準で用意されているセーブロード画面に以下の文があるのでそのまま使用できます。


                    # Format the description, and add it as text.
                    $ description = "% 2s. %s\n%s" % (
                        FileSlotName(i, columns * rows),
                        FileTime(i, empty=_("Empty Slot.")),
                        FileSaveName(i))

                    text description

コメントを残す

メールアドレスが公開されることはありません。