Смена фона сэйбокса

Просто сменить фон сэйбокса во время игры недостаточно. Потому что при следующем запуске игры и загрузке сохранения фон сбросится в тот, что был по умолчанию. Самый простой выход - картинка, которая зависит от переменной. А переменные сохраняются и загружаются вместе с остальными данными.

 

init -4 python:
    style.default.font = "fonts/blogger.otf"
    # фукции из 7dots.rpy
    window_center()
    images_auto()

init:
    # эта переменная отвечает за фон текстового окна (сэйбокса)
    $ frame = "steam"
    # создаем две растягивающиеся картинки для фонов сэйбокса
    image frmF = Frame("frame future", 100, 100)
    image frmS = Frame("frame steam", 160, 160)
    # создаем картинку, которая меняется, если поменять переменные
    image frm = ConditionSwitch("frame=='future'", "frmF", "frame=='steam'", "frmS")

init -1 python:
    # присваиваем сэйбоксу наш меняющийся фон
    style.window.background = "frm"

    # НЕОБЯЗАТЕЛЬНЫЕ КРАСИВОСТИ:
    # размеры шрифтов
    font_size(36, 48, 48, 64)
    # выравнивание по ширине
    style.default.justify = True
    # отступы для текста
    style.window.xpadding = 120
    style.window.ypadding = 90
    style.window.yminimum = 320
    style.window.xmargin = 140
    # отступы для кнопок меню
    style.mm_button.xpadding = 72
    style.gm_nav_button.xpadding = 36

label start:
    scene bg jail2
    show sen normal
    "Дизайн по умолчанию."

    $ frame = "future" # меняем фон сэйбокса
    show bg pab2 behind sen
    with dissolve
    "Другой дизайн.\nЕсли сделать сохранение, то после его загрузки фон текстового окна не сбросится в первоначальный, как это случилось бы, если бы вы просто поменяли стиль окна командой {b}{i}style.window.background = 'saybox'{/i}{/b}."

    "Потомучто сейчас фон зависит от переменной frame, а она сохраняется и загружается вместе со всеми остальными данными. А style.window.background задается при запуске."

    $ frame = "steam" # меняем фон сэйбокса
    show bg jail2 behind sen
    with dissolve
    "Снова дизайн по умолчанию."
    return

Комментарии