Анатолий Адонин

Анатолий Адонин 

Разработка на Python / Renpy

399subscribers

111posts

Showcase and bundles

16
A bundle is a collection, compilation, playlist, or catalog of posts that saves you from searching through the blog and lets you buy the entire content series in a single click.

55 Редактируем экран Настроек в Renpy

Экран настроек screen preferences также находится в файле screens.rpy. Как и другие экраны главного меню, он имеет привязку game_menu и состоит из нескольких вложенных контейнеров, которые мы можем изменять и удалять по необходимости.
Для понимания вложенности, на скрине каждый из боксов выделен своим цветом. Сначала располагается вертикальный контейнер (белый), который содержит внутри себя два горизонтальных контейнера (красные). Каждый из горизонтальных включает в себя несколько вертикальных (желтых).
В коде эти контейнеры выглядит так:
Большую часть содержимого экранов мы уже разбирали ранее, чтобы не повторяться, здесь разберёмся только с новыми элементами.
box_wrap True - переносит элементы горизонтального контейнера на новую строку, если они достигают края экрана. То есть, без этой команды большое количество вложенных элементов будет горизонтально располагаться даже за пределами экрана.
null height (4 * gui.pref_spacing) - устанавливает промежуток между двумя объектами. В отличие от spacing, команда отвечает только за расстояние между двумя смежными элементами. А spacing устанавливает одинаковый промежуток для всех элементов контейнера.
То есть, благодаря null height между каждым элементом можно установить разный промежуток. Например:
В строке null height (4 * gui.pref_spacing) в скобках число берётся из переменной в файле gui.rpy (define gui.pref_spacing = 15) и умножается на 4. То есть такой промежуток устанавливается между контейнерами. Однако для удобства точное число можно устанавливать сразу (null height 10) как на скриншоте выше.
null height используется для отступов по высоте
null width - для отступов по ширине
if config.has_music / sound / voice - данные условия отвечают за отображение полосок громкости.
По умолчанию в файле options.rpy эти переменные установлены в значение True и доступны в экране настроек. 
Если их изменить на False, полоски громкости будут скрыты из меню. Это может быть полезно, если в проекте нет озвучки или фоновой музыки. В таком случае настройки можно скрыть, чтобы они не занимали место и не вводили пользователей в заблуждение, поскольку не будут ни на что влиять.
По аналогии с другими экранами меню, экран настроек также можно изменить по необходимости. Например, добавить кнопки переключения языков или любых других переменных, которые будут включать / выключать определённые вещи в игре.
Обратите внимание, что кнопки в примере выше будут неактивны, если в вашей игре нет файлов перевода. Как создать переводы - будет разобрано в соответствующем уроке.
***
Код из урока:
rpy
screen_preferences.rpy4.10 Kb
***
Предыдущий урок:
54 Редактируем экран "Об игре" в Renpy
Следующий урок:
56 Изменяем экраны сохранения / загрузки в Renpy
Все уроки здесь
братан, просто лучший, крутейшие уроки  burn
Subscription levels3

Личный состав

$0.93 per month
Участник экспедиции

Колонист

$2.47 per month
С комфортом до Бетельгейзе

Штурман

$5 per month
Штурмуем геймдев - Пошаговые уроки с нуля до профи
Учимся создавать игры на Renpy
Программируем на Python
Go up