Смена фона сэйбокса
Перейти к навигации
Перейти к поиску
Просто сменить фон сэйбокса во время игры недостаточно. Потому что при следующем запуске игры и загрузке сохранения фон сбросится в тот, что был по умолчанию. Самый простой выход - картинка, которая зависит от переменной. А переменные сохраняются и загружаются вместе с остальными данными.
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
- Ссылка на архив с проектом: test-sayboxes.zip
- Источник: Renpy для чайников: Смена фона сэйбокса
На главную страницу | Книга рецептов Энциклопедии Ren'Py | Renpy для чайников | Вернуться к началу статьи |