Просто сменить фон сэйбокса во время игры недостаточно. Потому что при следующем запуске игры и загрузке сохранения фон сбросится в тот, что был по умолчанию. Самый простой выход - картинка, которая зависит от переменной. А переменные сохраняются и загружаются вместе с остальными данными.
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
Комментарии
Отправить комментарий