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

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

Разработка на 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.

54 Редактируем экран "Об игре" в Renpy

В screen about обычно отображается информация, касающаяся версии движка и названия игры. Аналогично главному меню, данный экран можно полностью изменить, добавив свои графические элементы и новую информацию.
Напомню, что screen about можно найти в файле screens.rpy. В коде он выглядит примерно так:

Разберём элементы, находящиеся в нём:
tag menu - добавляет экран в группу экранов главного меню, благодаря чему при переходе на другой экран, этот автоматически закрывается.
use game_menu(_("Об игре"), scroll="viewport") - использует экран game_menu внутри экрана about, добавляя все его элементы. Сам экран можно найти, пролистав данный файл выше:
Как видим, в скобках экран имеет 4 параметра через запятую, в которые можно передавать свои значения. Подробнее об этом было рассказано в 31 уроке.
В параметр title передаётся название экрана, который будет отображаться при открытии страницы.
Параметр scroll="viewport" определяет, будет ли содержимое экрана прокручиваться и каким способом.
"viewport" - является стандартной прокруткой экрана вниз, если его содержимое не помещается на экране. Также можно использовать "vpgrid" для прокрутки таблиц. Например:
use game_menu(_("Abou"), scroll="vpgrid")
Параметр yinitial=0.0 - отвечает за начальную позицию прокрутки. То есть, если установить yinitial=1.0, то при открытии экрана он сразу будет прокручен в самый низ.
Это можно использовать, например в экране истории диалогов, чтобы при его открытии игрок сразу видел последние реплики, а не самые первые из начала игры. Также это используется при создании различных чатов, при открытии которых страница также прокручивается в самый низ, к последним репликам.
Параметр spacing=0 определяет промежутки между элементами внутри контейнера (vbox, hbox, grid), если экран использует этот параметр.
label "[config.name!t]" - Выводит текст из переменной, хранящей название игры. Данную переменную можно найти в файле options.rpy (define config.name).
Символ !t позволяет переводить текст в переменной на другие языки. Например, в английской версии будет выводится название "The best game in the world", а в русской - "Лучшая игра в мире".
text _("Версия [config.version!t]\n") - отвечает за вывод текста и переменной с версией игры. Эта информация также берётся из файла options.rpy (define config.version).
if gui.about: - условие проверяет, есть ли в нижеследующей переменной какие-то данные. Если есть, отображается содержание переменной.
text "[gui.about!t]\n" - отображает содержание переменной, которая находится в файле options.rpy - define gui.about = _p(""" """). В ней можно написать любую информацию. Например, благодарности, список команды разработчиков, спонсоров и патреонов.
Однако проще написать данную информацию непосредственно в этом же экране, чтобы не скакать по нескольким файлам. Например:
Последняя строка в данном экране text _("Сделано с помощью {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]") отображает стандартный текст движка.
Вы можете закомментировать её, чтобы убрать данную запись.
Аналогично главному меню, в screen about можно расположить не только текст, но и свои изображения и кнопки.
***
Предыдущий урок:
53 Как сделать главное меню в Renpy / Часть 2
Следующий урок:
55 Редактируем экран Настроек в Renpy
Все уроки здесь
Subscription levels3

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

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

Колонист

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

Штурман

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