Экранные действия, значения и функции
Ren'Py поставляется с рядом действий, значений и функций, предназначенных для использования с экранами и экранным языком.
Действия
Действия (actions) вызываются, когда кнопка (включая imagebuttons, textbuttons и hotspots) активируется, на неё наводится курсор или курсор убирается с неё. Действия могут определять, когда кнопка является выбранной или неактивной.
Помимо этих действий, действием может быть функция, не принимающая аргументов. Функция вызывается, когда инициируется действие. Если действие возвращает значение, то это значение возвращается из взаимодействия (interaction).
Вместо одного действия обычно можно предоставить список действий, и в этом случае действия из списка выполняются по порядку. Список действий является активным, если все действия в нём активны, и выбранным, если хотя бы одно из них выбрано; если в списке нет SensitiveIf() или SelectedIf() соответственно.
Управляющие действия
Это действия, которые управляют экранами, результатами взаимодействия и потоком управления.
- Call(label, *args, **kwargs)
Завершает текущую инструкцию и вызывает метку label, заданную в виде строки. Позиционные и именованные аргументы передаются в
renpy.call().
- Hide(screen=None, transition=None, _layer=None, immediately=False)
Это действие скрывает экран, если он показан.
- screen
Строка с именем экрана, который нужно скрыть, или None, чтобы скрыть текущий экран.
- transition
Если не None, переход, который происходит при скрытии экрана.
- _layer
Передаётся в качестве аргумента layer в
renpy.hide_screen(). Игнорируется, если screen равно None.- immediately
Если True, экран скрывается немедленно, без события 'on hide'.
- Jump(label)
Передаёт управление на метку label, заданную в виде строки.
- NullAction()
Ничего не делает.
Можно использовать, чтобы кнопка реагировала на события наведения/снятия курсора, но при этом ничего не делала.
- Return(value=None)
Вызывает возврат из текущего взаимодействия с указанным ненулевым значением. Часто используется с меню и imagemaps для выбора возвращаемого значения взаимодействия. Если экран был вызван с помощью инструкции
call screen, возвращаемое значение помещается в переменную _return.Находясь в меню, это действие возвращает из меню. (В этом случае значение должно быть None.)
- Show(screen, transition=None, *args, **kwargs)
Показывает другой экран. screen — это строка с именем экрана. Аргументы передаются показываемому экрану.
Если не None, transition используется для показа нового экрана.
Это действие принимает именованные аргументы _layer, _zorder и _tag, которые имеют то же значение, что и в функции
renpy.show_screen().
- ShowTransient(screen, transition=None, *args, **kwargs)
Показывает временный экран (transient). Временный экран будет скрыт по завершении текущего взаимодействия. Аргументы передаются показываемому экрану.
Если не None, transition используется для показа нового экрана.
Это действие принимает именованные аргументы _layer, _zorder и _tag, которые имеют то же значение, что и в функции
renpy.show_screen().
- ToggleScreen(screen, transition=None, *args, **kwargs)
Переключает видимость экрана screen. Если он не показан, он показывается с предоставленными аргументами. В противном случае экран скрывается.
Если не None, transition используется для показа и скрытия экрана.
Это действие принимает именованные аргументы _layer, _zorder и _tag, которые имеют то же значение, что и в функции
renpy.show_screen().
Действия с данными
Некоторые из этих действий, охватывающие наиболее распространенные случаи, следуют простому шаблону, показанному в следующей таблице:
Управляющие |
Акцессоры |
||||
|---|---|---|---|---|---|
Variable |
ScreenVariable |
LocalVariable |
Field |
Dict |
|
Set |
|||||
Toggle |
|||||
Cycle |
|||||
Increment |
|||||
Акцессоры определяют цель, значение которой будет изменено, а управляющий определяет, каким будет новое значение. Их поведение относительно просто для понимания:
Действия -Variable изменяют значение глобальной переменной с именем name, находящейся в общем хранилище. Аргумент name должен быть строкой и может быть простым именем, таким как "strength", или именем с точками, разделяющими переменную и поля, например "hero.strength" или "persistent.show_cutscenes".
Действия -ScreenVariable изменяют значение переменной с именем name, связанной с текущим экраном верхнего уровня. В экране, используемом через use, это действие устанавливает переменную в контексте экрана, содержащего все используемые экраны.
Действия -LocalVariable изменяют значение переменной с именем name, локальной для экрана, в котором она находится. Это действие полезно только в экране, который был использован другим экраном через use (для получения дополнительной информации см. Use). Во всех остальных случаях следует предпочесть действия -ScreenVariable, так как они обеспечивают лучшую производительность и позволяют кэшировать большую часть экрана. Действия -LocalVariable должны быть созданы в контексте, в котором устанавливается переменная — их нельзя передать откуда-либо ещё.
Действия -Field изменяют значение поля с именем field объекта object.
Действия -Dict изменяют значение ключа key в словаре dict: они изменяют
dict[key]. Это также работает со списками.
Действия Set- просто устанавливают значение цели равным переданному value. Обратите внимание, что это не имеет ничего общего со встроенным типом set в Python.
target = valueДействия Toggle- инвертируют логическое значение своей цели между true_value (если задано и не None) и false_value (аналогично). Когда true_value и false_value оба равны None,
target = not targetДействия Cycle- циклически перебирают предоставленные values, которые должны быть непустой последовательностью (списком, кортежем или диапазоном). Если значение цели отсутствует в последовательности на момент выполнения действия, оно устанавливается в первое значение в последовательности. Параметр loop (по умолчанию True) определяет, что происходит, когда values заканчиваются: если True, цикл начинается с начала, если False — вызывается исключение. Параметр reverse (по умолчанию False) переворачивает переданную последовательность values.
Действия Increment- добавляют amount к своей цели, по умолчанию равный 1, но может быть любого типа, совместимого с целью.
target = target + amount
- CycleDict(dict, key, values, *, reverse=False, loop=True)
Смотрите Действия с данными.
- CycleField(object, field, values, *, reverse=False, loop=True)
Смотрите Действия с данными.
- CycleLocalVariable(name, values, *, reverse=False, loop=True)
Смотрите Действия с данными.
- CycleScreenVariable(name, values, *, reverse=False, loop=True)
Смотрите Действия с данными.
- CycleVariable(name, values, *, reverse=False, loop=True)
Смотрите Действия с данными.
- IncrementDict(dict, key, amount=1)
Смотрите Действия с данными.
- IncrementField(object, field, amount=1)
Смотрите Действия с данными.
- IncrementLocalVariable(name, amount=1)
Смотрите Действия с данными.
- IncrementScreenVariable(name, amount=1)
Смотрите Действия с данными.
- IncrementVariable(name, amount=1)
Смотрите Действия с данными.
- SetDict(dict, key, value)
Смотрите Действия с данными.
- SetField(object, field, value)
Смотрите Действия с данными.
- SetLocalVariable(name, value)
Смотрите Действия с данными.
- SetScreenVariable(name, value)
Смотрите Действия с данными.
- SetVariable(name, value)
Смотрите Действия с данными.
- ToggleDict(dict, key, true_value=None, false_value=None)
Смотрите Действия с данными.
- ToggleField(object, field, true_value=None, false_value=None)
Смотрите Действия с данными.
- ToggleLocalVariable(name, true_value=None, false_value=None)
Смотрите Действия с данными.
- ToggleScreenVariable(name, true_value=None, false_value=None)
Смотрите Действия с данными.
- ToggleVariable(name, true_value=None, false_value=None)
Смотрите Действия с данными.
Следующие действия с данными не соответствуют вышеуказанному шаблону. Некоторые из них связаны с типом Python set,
не путать с действиями Set- выше.
- AddToSet(set, value)
Добавляет value в set.
- set
Множество, в которое нужно добавить. Это может быть множество Python или список, в этом случае значение добавляется в конец списка.
- value
Значение, которое нужно добавить.
- RemoveFromSet(set, value)
Удаляет value из set.
- set
Множество, из которого нужно удалить. Это может быть множество или список.
- value
Значение, которое нужно удалить.
- ToggleSetMembership(set, value)
Переключает членство value в set. Если значения нет в множестве, оно добавляется. В противном случае, оно удаляется.
Кнопки с этим действием отмечаются как выбранные тогда и только тогда, когда значение находится в множестве.
- set
Множество, в которое нужно добавить или из которого удалить. Это может быть множество или список. В случае списка новые элементы добавляются в конец.
- value
Значение, которое нужно добавить или удалить.
Действия меню
Эти действия вызывают меню или в основном полезны в главном или игровом меню.
- Continue(regexp='[^_]', confirm=True)
Вызывает загрузку последнего сохранения. Предназначение этой функции — загрузить последнее сохранение игрока из главного меню.
- regexp
Если присутствует, будет использоваться в renpy.newest_slot. Стандартный шаблон продолжит игру с любого сохранения, включая быстрые и автоматические сохранения. Если вы хотите продолжать только с сохранений, созданных игроком, установите это значение в
r"\d".- confirm
Если true, Ren'Py спросит пользователя, хочет ли он продолжить с того места, где остановился, если он находится не в главном меню.
- MainMenu(confirm=True, save=True)
Вызывает возврат Ren'Py в главное меню.
- confirm
Если true, Ren'Py спросит пользователя, желает ли он вернуться в главное меню, вместо прямого возврата.
- save
Если true, игра сохраняется в
_quit_slotперед тем, как Ren'Py перезапустится и вернет пользователя в главное меню. Игра не сохраняется, если_quit_slotравен None.
- Quit(confirm=None)
Выход из игры.
- confirm
Если true, запрашивает у пользователя подтверждение на выход, вместо немедленного выхода. Если None, запрос появится только в том случае, если пользователь находится не в главном меню.
- ShowMenu(screen=_game_menu_screen, *args, _transition=config.intra_transition, **kwargs)
Заставляет нас войти в игровое меню, если мы еще не там. Если мы находимся в игровом меню, то эта функция показывает экран или переходит к метке.
screen обычно является именем экрана, который отображается с помощью механизма экранов. Если экран не существует, к его имени добавляется "_screen", и осуществляется переход к этой метке. Ему передаются
*argsи**kwargs. Если экран не существует, к его имени добавляется "_screen", и осуществляется переход к этой метке, игнорируя args и kwargs.Если задан необязательный именованный аргумент _transition, меню будет менять экраны, используя указанный переход. Если он не указан вручную, используется переход по умолчанию config.intra_transition.
ShowMenu("load")
ShowMenu("save")
ShowMenu("preferences")
Это также можно использовать для отображения пользовательских экранов меню. Например, если у вас определен экран "stats", его можно показать как часть игрового меню с помощью:
ShowMenu("stats")
Вызов ShowMenu без аргумента войдет в игровое меню на экране по умолчанию, взятом из
_game_menu_screen.Дополнительные позиционные и именованные аргументы передаются экрану.
- Start(label='start')
Вызывает выход Ren'Py из контекста меню и переход к указанной метке. Основное применение — запуск новой игры из главного меню. Типичные примеры использования:
Start() - Начать с метки start.
Start("foo") - Начать с метки "foo".
Файловые действия
Эти действия управляют сохранением, загрузкой и удалением файлов. Многие из них принимают аргументы name и page.
- name
Имя файла для сохранения. Может быть строкой или целым числом. Оно объединяется со страницей для создания имени файла.
- page
Страница, на которую действует это действие. Может быть "auto", "quick" или положительным целым числом. Если None, страница определяется автоматически на основе номера постоянной страницы.
Они преобразуются в имя слота с помощью config.file_slotname_callback,
если он установлен.
- FileAction(name, page=None, **kwargs)
"Делает правильную вещь" с файлом. Это означает загрузку, если отображается экран загрузки (текущий экран называется "load"), и сохранение в противном случае.
- name
Имя слота для сохранения или загрузки. Если None, будет использован неиспользуемый слот (большое число, основанное на текущем времени).
- page
Страница, на которую файл будет сохранён или с которой будет загружен. Если None, используется текущая страница.
Другие именованные аргументы передаются в FileLoad или FileSave.
- FileDelete(name, confirm=True, page=None, slot=False)
Удаляет файл.
- name
Имя слота для удаления.
- confirm
Если true и вы не в главном меню, запрашивать подтверждение перед удалением файла.
- page
Страница, с которой будет удалён файл. Если None, используется текущая страница.
- slot
Если True, name рассматривается как имя слота, а page игнорируется.
- FileLoad(name, confirm=True, page=None, newest=True, cycle=False, slot=False)
Загружает файл.
- name
Имя слота для загрузки. Если None, будет использован неиспользуемый слот, и, следовательно, файл не будет загружаемым.
- confirm
Если true и вы не в главном меню, запрашивать подтверждение перед загрузкой файла.
- page
Страница, с которой будет загружен файл. Если None, используется текущая страница.
- newest
Если true, кнопка выбирается, если это самый новый файл.
- cycle
Игнорируется.
- slot
Если True, name рассматривается как имя слота, а page игнорируется.
- FilePage(page)
Устанавливает страницу файлов на page, которая должна быть одной из "auto", "quick" или целым числом.
- FilePageNext(max=None, wrap=False, auto=True, quick=True)
Переходит на следующую страницу файлов.
- max
Если задано, должно быть целым числом, указывающим номер максимальной страницы файлов, на которую можно перейти.
- wrap
Если true, можно перейти на первую страницу, находясь на последней странице файлов, при условии, что max задан.
- auto
Если true и wrap задан, это может перенести игрока на страницу автоматических сохранений.
- quick
Если true и wrap задан, это может перенести игрока на страницу автоматических сохранений.
- FilePagePrevious(max=None, wrap=False, auto=True, quick=True)
Переходит на предыдущую страницу файлов, если это возможно.
- max
Если задано, должно быть целым числом, указывающим номер максимальной страницы файлов, на которую можно перейти. Это необходимо для включения wrap.
- wrap
Если true, можно перейти на последнюю страницу, находясь на первой, при условии, что max задан.
- auto
Если true, это может перенести игрока на страницу автоматических сохранений.
- quick
Если true, это может перенести игрока на страницу автоматических сохранений.
- FileSave(name, confirm=True, newest=True, page=None, cycle=False, slot=False, action=None)
Сохраняет файл.
Кнопка с этим слотом выбирается, если он помечен как самое новое сохранение.
- name
Имя слота для сохранения. Если None, будет использован неиспользуемый слот (большое число, основанное на текущем времени).
- confirm
Если true, будет выводиться запрос перед перезаписью файла.
- newest
Игнорируется.
- page
Имя страницы, на которой находится слот. Если None, используется текущая страница.
- cycle
Если true, то сохранения на указанной странице будут циклически сдвигаться перед показом пользователю. В цикле используется
config.quicksave_slotsслотов.- slot
Если True, name рассматривается как имя слота, а page игнорируется.
- action
Действие, которое выполняется после завершения сохранения. Выполняется только в случае успешного сохранения.
- FileTakeScreenshot()
Делает снимок экрана, который будет использоваться при сохранении игры. Это можно использовать для обеспечения точности снимка, сделав его до того, как будет показан экран сохранения.
- QuickLoad(confirm=True)
Выполняет быструю загрузку.
- confirm
Если true и вы не в главном меню, запрашивать подтверждение перед загрузкой файла.
- QuickSave(message='Quick save complete.', newest=False)
Выполняет быстрое сохранение.
- message
Сообщение для отображения пользователю после завершения быстрого сохранения.
- newest
Установите в true, чтобы отметить быстрое сохранение как самое новое.
Действия синхронизации
- DownloadSync()
Это действие начинает процесс загрузки Sync с сервера Ren'Py Sync.
- UploadSync()
Это действие начинает процесс загрузки последних сохранений на сервер Ren'Py Sync.
Аудио-действия
Концепция каналов и их работа, а также большая часть информации об аудио в Ren'Py, объясняется в Аудио.
- GetMixer(mixer, db=False)
Возвращает громкость mixer.
- db
Если true, возвращает громкость в децибелах. Если false, по умолчанию, возвращает громкость как число от 0.0 до 1.0.
- PauseAudio(channel, value=True)
Устанавливает флаг паузы для channel.
Если value равно True, канал ставится на паузу. Если False, канал снимается с паузы. Если "toggle", флаг паузы переключается.
- Play(channel, file, selected=None, **kwargs)
Вызывает воспроизведение аудиофайла на заданном канале.
- channel
Канал, на котором будет воспроизводиться звук.
- file
Файл для воспроизведения.
- selected
Если True, кнопки, использующие это действие, будут отмечены как выбранные, если файл воспроизводится на канале. Если False, это действие не приведет к тому, что кнопка начнет воспроизведение. Если None, кнопка отмечается как выбранная, если канал является музыкальным, и не отмечается в противном случае.
Любые другие именованные аргументы передаются в
renpy.music.play().
- Queue(channel, file, **kwargs)
Помещает аудиофайл в очередь на заданном канале.
- channel
Канал, на котором будет воспроизводиться звук.
- file
Файл для воспроизведения.
Любые именованные аргументы передаются в
renpy.music.queue()
- SetMixer(mixer, volume)
Устанавливает громкость mixer в value.
- mixer
Микшер, громкость которого нужно установить. Строка, обычно одна из: "main", "music", "sfx" или "voice". См. Громкость для получения дополнительной информации о микшерах.
- value
Значение, в которое нужно установить громкость. Число от 0.0 до 1.0, включительно.
- SetMute(mixer, mute)
Устанавливает состояние заглушения для одного или нескольких микшеров. Когда микшер заглушен, аудиоканалы, связанные с ним, прекращают воспроизведение звука.
- mixer
Либо одна строка с именем микшера, либо список строк с именами микшеров. Строки должны быть именами микшеров.
- mute
True, чтобы заглушить микшер, False, чтобы включить звук.
- Stop(channel, **kwargs)
Вызывает остановку аудиоканала.
- channel
Канал, на котором нужно остановить звук.
Любые именованные аргументы передаются в
renpy.music.stop()
- ToggleMute(mixer)
Переключает состояние заглушения одного или нескольких микшеров.
- mixer
Либо одна строка с именем микшера, либо список строк с именами микшеров. Строки должны быть именами микшеров.
Действия с фокусом
- CaptureFocus(name='default')
Если в момент выполнения этого действия какой-либо displayable находится в фокусе, прямоугольник, содержащий этот displayable, сохраняется под именем name. Этот прямоугольник затем можно получить с помощью действия
GetFocusRect()или свойства focus отображаемого объекта Nearrect.Если ни один displayable не находится в фокусе, предыдущий захват с таким именем удаляется.
- name
Имя для сохранения прямоугольника фокуса. Должно быть строкой. Имя "tooltip" является особенным, так как оно захватывается автоматически при изменении всплывающей подсказки (tooltip).
- ClearFocus(name='default')
Очищает сохранённый прямоугольник фокуса, захваченный с помощью
CaptureFocus(). Если name равен None, очищаются все прямоугольники фокуса.
- GetFocusRect(name='default')
Если прямоугольник фокуса с заданным именем был сохранён (либо с помощью
CaptureFocus(), либо автоматически всплывающей подсказкой), возвращает прямоугольник (x, y, h, w). В противном случае возвращает None.- name
Имя для получения прямоугольника фокуса. Имя "tooltip" является особенным, так как оно захватывается автоматически при изменении всплывающей подсказки (tooltip).
- ToggleFocus(name='default')
Если прямоугольник фокуса существует, очищает его, в противном случае — захватывает.
- name
Имя для сохранения прямоугольника фокуса. Должно быть строкой. Имя "tooltip" является особенным, так как оно захватывается автоматически при изменении всплывающей подсказки (tooltip).
Другие действия
Это другие действия, не найденные нигде ещё.
- Confirm(prompt, yes, no=None, confirm_selected=False, **kwargs)
Запрашивает у пользователя подтверждение действия. Если пользователь нажимает "да", выполняется действие yes. В противном случае выполняется действие no.
- prompt
Запрос, отображаемый пользователю.
- confirm_selected
Если true, запрос будет отображен, даже если действие yes уже выбрано. Если false (по умолчанию), запрос не будет отображаться, если действие yes выбрано.
Дополнительные именованные аргументы, не начинающиеся с _, передаются экрану.
Чувствительность (sensitivity) и выбранность (selectedness) этого действия соответствуют тем же состояниям у действия yes.
Смотрите
renpy.confirm()для функциональной версии этого действия.
- CopyToClipboard(s)
Копирует строку s в системный буфер обмена, если это возможно. Это должно работать на настольных и мобильных платформах, но не будет работать в вебе.
- DisableAllInputValues()
Отключает все активные InputValue. Это переведет фокус на InputValue по умолчанию, если он есть. В противном случае ни один InputValue не будет в фокусе.
- EditFile(filename=None, line=1)
Запрашивает у Ren'Py открытие данного файла в текстовом редакторе, если это возможно. Это будет работать на некоторых платформах, но не на других.
- filename
Если задано, имя файла для открытия. Если None, используются текущее имя файла и номер строки, при этом line игнорируется.
- line
Номер строки, на которой нужно открыть файл.
- ExecJS(code)
Выполняет данный исходный код JavaScript. Это поддерживается только в вебе и вызовет исключение на других платформах. Скрипт выполняется асинхронно в контексте окна, и возвращаемое значение недоступно.
- code
Исходный код JavaScript для выполнения.
- Function(callable, *args, _update_screens=True, **kwargs)
Это Действие (Action) вызывает
callable(*args, **kwargs).- callable
Вызываемый объект. Предполагается, что если два вызываемых объекта равны при сравнении, вызов любого из них будет эквивалентен.
- args
позиционные аргументы, которые будут переданы в callable.
- kwargs
именованные аргументы, которые будут переданы в callable.
- _update_screens
Если true, взаимодействие перезапускается, и экраны обновляются после возврата из функции.
Если функция возвращает значение, не равное None, взаимодействие прекращается и возвращает это значение. (При вызове с помощью инструкции call screen результат помещается в переменную _return.)
Вместо использования действия Function вы можете определить свой собственный подкласс класса
Action. Это позволит вам дать имя действию и определить, когда оно должно быть выбрано и чувствительно.
- Help(help=None)
Отображает помощь.
- help
Строка, которая используется для поиска помощи. Используется следующим образом:
Если существует метка с таким именем, она вызывается в новом контексте.
В противном случае это интерпретируется как имя файла, который следует открыть в веб-браузере.
Если help равно None, в качестве значения по умолчанию используется
config.help. Если и оно равно None, в новом контексте отображается экранconfig.help_screen, если он существует. В противном случае ничего не происходит.
- HideInterface()
Вызывает скрытие интерфейса до тех пор, пока пользователь не щелкнет мышью. Обычно это происходит при нажатии клавиши H в игре на Ren'Py.
- If(expression, true=None, false=None)
Возвращает true, если expression истинно, и false в противном случае. Используйте это для выбора действия на основе выражения. Обратите внимание, что значение по умолчанию, None, может использоваться как действие, которое делает кнопку неактивной.
- InvertSelected(action)
Инвертирует состояние выбора предоставленного действия, проксируя все остальные методы.
- MouseMove(x, y, duration=0)
Перемещает указатель мыши в точку (x, y). Если на устройстве нет указателя мыши, Ren'Py не может его переместить, или если настройка
"automatic move"равна False, эта функция ничего не делает.Маловероятно, что это будет работать на платформах Linux с Wayland, Android, iOS или Web.
- duration
Время в секундах, которое займет перемещение. В течение этого времени мышь может не отвечать на запросы.
- Notify(message)
Отображает message с помощью
renpy.notify().
- OpenDirectory(directory)
Открывает directory в файловом браузере. directory указывается относительно
config.basedir.
- OpenURL(url)
Вызывает открытие url в веб-браузере.
- QueueEvent(event, up=False)
Ставит в очередь данное событие с помощью
renpy.queue_event().
- RestartStatement()
Это действие заставляет Ren'Py откатиться к состоянию до текущей инструкции, а затем повторно выполнить эту инструкцию. Это может быть полезно при изменении persistent-переменной, которая влияет на отображение инструкции.
Если запущено в контексте меню, оно ждет, пока игрок не выйдет в контекст верхнего уровня, прежде чем выполнить откат.
- RollForward()
Это действие вызывает перемотку вперед (rollforward), если она возможна. В противном случае оно нечувствительно (insensitive).
- Rollback(*args, force='menu', **kwargs)
Это действие вызывает откат (rollback), когда откат возможен. В противном случае ничего не происходит.
Аргументы передаются в
renpy.rollback(). Это включает аргумент force, который здесь по умолчанию равен "menu".
- RollbackToIdentifier(identifier)
Это вызывает откат к идентификатору. Идентификаторы для отката возвращаются как часть объектов HistoryEntry.
- Screenshot()
Делает скриншот.
- Scroll(id, direction, amount='step', delay=0.0)
Вызывает прокрутку Bar, Viewport или Vpgrid.
- id
ID элемента bar, viewport или vpgrid на текущем экране.
- direction
Для vbar - одно из "increase" или "decrease". Для viewport или vpgrid - одно из "horizontal increase", "vertical increase", "horizontal decrease" или "vertical decrease".
- amount
Величина прокрутки. Может быть числом пикселей, или "step" (шаг), или "page" (страница).
- delay
Если не равно нулю, прокрутка будет анимироваться в течение указанного количества секунд.
- SelectedIf(action, /)
Это указывает, что одно действие из списка действий должно использоваться для определения, выбрана ли кнопка. Это имеет смысл только тогда, когда у кнопки есть список действий. Например:
# Кнопка выбрана только если mars_flag равен True textbutton "Marsopolis": action [ SelectedIf(SetVariable("mars_flag", True)), SetVariable("on_mars", True) ]
Действие внутри SelectedIf выполняется как обычно при нажатии кнопки.
- SensitiveIf(action, /)
Это указывает, что одно действие из списка действий должно использоваться для определения, чувствительна ли кнопка. Это имеет смысл только тогда, когда у кнопки есть список действий. Например:
# Кнопка чувствительна только если mars_flag равен True textbutton "Marsopolis": action [ SensitiveIf(SetVariable("mars_flag", True)), SetVariable("on_mars", True) ]
Действие внутри SensitiveIf выполняется как обычно при нажатии кнопки.
- Skip(fast=False, confirm=False)
Вызывает начало пропуска в игре. Если игра находится в контексте меню, она возвращается в игру. В противном случае просто включается режим пропуска.
- fast
Если true, пропускает напрямую до следующего выбора в меню.
- confirm
Если true, запрашивает подтверждение перед началом пропуска.
- With(transition)
Вызывает выполнение transition.
Дополнительные действия доступны на других страницах этой документации,
такие как Language, Replay и EndReplay,
gui.SetPreference и gui.TogglePreference,
StylePreference и голосовые действия.
Другие действия могут быть созданы с помощью класса Action.
Значения для шкал (Bar Values)
Значения для шкал (Bar values) используются с барами (bars) для установки значения шкалы и для того, чтобы
шкала могла изменять соответствующее свойство. Чтобы создать новое значение шкалы,
унаследуйте класс BarValue. Все классы, имеющие ключевое слово step, также принимают
ключевое слово force_step, поведение которого описано в ui.adjustment().
- AnimatedValue(value=0.0, range=1.0, delay=1.0, old_value=None)
Анимирует значение, изменяя его от old_value до value в течение delay секунд.
- value
Само значение, число.
- range
Диапазон значения, число.
- delay
Время для анимации значения в секундах. По умолчанию 1.0.
- old_value
Старое значение. Если None, значение берётся из заменённого AnimatedValue (если таковой был). В противном случае оно инициализируется как value.
- AudioPositionValue(channel='music', update_interval=0.1)
Значение, которое показывает позицию воспроизведения аудиофайла в канале channel.
- update_interval
Как часто обновляется значение, в секундах.
- DictValue(dict, key, range=None, max_is_zero=False, style='bar', offset=0, step=None, action=None, force_step=False, min=None, max=None)
Значение для bar, которое позволяет пользователю изменять значение по ключу в словаре или элемента по определённому индексу в списке.
- dict
Словарь или список.
- key
Ключ, или индекс при использовании списка.
- range
Диапазон для регулировки. Должен быть указан, если не заданы max и min.
- max_is_zero
Если True, то, когда значение ключа или индекса равно нулю, значение bar будет равно range, а все остальные значения будут сдвинуты на 1. Это работает в обе стороны: когда bar установлен на максимум, значение ключа или индекса становится равным 0.
Используется внутри Ren'Py для некоторых настроек.
- style
Стили создаваемого bar.
- offset
Смещение, добавляемое к значению.
- step
Величина, на которую изменяется bar. Если None, по умолчанию составляет 1/10 от bar.
- force_step
Если True, bar может принимать только дискретные значения с шагом, заданным в step. Если False, bar может принимать любое значение в пределах диапазона.
- action
Если не None, действие, вызываемое при изменении значения ключа или индекса.
- min
Минимальное значение bar. Если заданы min и max, range и offset вычисляются на их основе.
- max
Максимальное значение bar. Если заданы min и max, range и offset вычисляются на их основе.
- FieldValue(object, field, range=None, max_is_zero=False, style='bar', offset=0, step=None, action=None, force_step=False, min=None, max=None)
Значение для bar, которое позволяет пользователю изменять значение поля объекта.
- object
Объект.
- field
Имя поля, строка.
- range
Диапазон для регулировки. Должен быть указан, если не заданы max и min.
- max_is_zero
Если True, то, когда значение поля равно нулю, значение bar будет равно range, а все остальные значения будут сдвинуты на 1. Это работает в обе стороны: когда bar установлен на максимум, значение поля становится равным 0.
Используется внутри Ren'Py для некоторых настроек.
- style
Стили создаваемого bar.
- offset
Смещение, добавляемое к значению.
- step
Величина, на которую изменяется bar. Если None, по умолчанию составляет 1/10 от bar.
- force_step
Если True, bar может принимать только дискретные значения с шагом, заданным в step. Если False, bar может принимать любое значение в пределах диапазона.
- action
Если не None, действие, вызываемое при изменении значения поля.
- min
Минимальное значение bar. Если заданы min и max, range и offset вычисляются на их основе.
- max
Максимальное значение bar. Если заданы min и max, range и offset вычисляются на их основе.
- LocalVariableValue(variable, range=None, max_is_zero=False, style='bar', offset=0, step=None, action=None, force_step=False, min=None, max=None)
Значение для bar, которое изменяет значение переменной в экране, используемом через
use.Для доступа к переменной в экране верхнего уровня предпочтительнее использовать
ScreenVariableValue().Для дополнительной информации смотрите Use.
Это значение должно быть создано в том же контексте, в котором установлена переменная — его нельзя передать откуда-либо ещё.
- variable
Строка, задающая имя переменной для изменения.
- range
Диапазон для регулировки. Должен быть указан, если не заданы max и min.
- max_is_zero
Если True, то, когда значение локальной переменной равно нулю, значение bar будет равно range, а все остальные значения будут сдвинуты на 1. Это работает в обе стороны: когда bar установлен на максимум, значение локальной переменной становится равным 0.
Используется внутри Ren'Py для некоторых настроек.
- style
Стили создаваемого bar.
- offset
Смещение, добавляемое к значению.
- step
Величина, на которую изменяется bar. Если None, по умолчанию составляет 1/10 от bar.
- force_step
Если True, bar может принимать только дискретные значения с шагом, заданным в step. Если False, bar может принимать любое значение в пределах диапазона.
- action
Если не None, действие, вызываемое при изменении значения локальной переменной.
- min
Минимальное значение bar. Если заданы min и max, range и offset вычисляются на их основе.
- max
Максимальное значение bar. Если заданы min и max, range и offset вычисляются на их основе.
- MixerValue(mixer, step=None, force_step=False)
Значение аудиомикшера.
- mixer
Имя микшера для регулировки. Обычно это одно из: "main", "music", "sfx" или "voice". Смотрите Громкость для дополнительной информации.
- step
Величина, на которую изменяется bar. Если None, по умолчанию составляет 1/10 от bar. Для MixerValue это количество децибел, на которое изменяется громкость.
- force_step
Если True, bar может принимать только дискретные значения с шагом, заданным в step. Если False, bar может принимать любое значение в пределах диапазона.
- ScreenVariableValue(variable, range=None, max_is_zero=False, style='bar', offset=0, step=None, action=None, force_step=False, min=None, max=None)
Значение для bar, которое изменяет значение переменной в экране.
В экране, используемом через
use, это значение нацелено на переменную в контексте экрана, содержащего используемые экраны. Чтобы обратиться к переменным внутри экрана, используемого черезuse(и только в этом случае), используйтеLocalVariableValue().- variable
Строка, задающая имя переменной для изменения.
- range
Диапазон для регулировки. Должен быть указан, если не заданы max и min.
- max_is_zero
Если True, то, когда значение переменной экрана равно нулю, значение bar будет равно range, а все остальные значения будут сдвинуты на 1. Это работает в обе стороны: когда bar установлен на максимум, значение переменной экрана становится равным 0.
Используется внутри Ren'Py для некоторых настроек.
- style
Стили создаваемого bar.
- offset
Смещение, добавляемое к значению.
- step
Величина, на которую изменяется bar. Если None, по умолчанию составляет 1/10 от bar.
- force_step
Если True, bar может принимать только дискретные значения с шагом, заданным в step. Если False, bar может принимать любое значение в пределах диапазона.
- action
Если не None, действие, вызываемое при изменении значения переменной экрана.
- min
Минимальное значение bar. Если заданы min и max, range и offset вычисляются на их основе.
- max
Максимальное значение bar. Если заданы min и max, range и offset вычисляются на их основе.
- StaticValue(value=0.0, range=1.0)
Позволяет статически задать значение.
- value
Само значение, число.
- range
Диапазон значения.
- VariableValue(variable, range=None, max_is_zero=False, style='bar', offset=0, step=None, action=None, force_step=False, min=None, max=None)
Значение для bar, которое позволяет пользователю изменять значение переменной в хранилище по умолчанию.
- variable
Параметр variable должен быть строкой и может быть простым именем, например "strength", или содержать точки для разделения переменной и полей, например "hero.strength" или "persistent.show_cutscenes".
- range
Диапазон для регулировки. Должен быть указан, если не заданы max и min.
- max_is_zero
Если True, то, когда значение переменной равно нулю, значение bar будет равно range, а все остальные значения будут сдвинуты на 1. Это работает в обе стороны: когда bar установлен на максимум, значение переменной становится равным 0.
Используется внутри Ren'Py для некоторых настроек.
- style
Стили создаваемого bar.
- offset
Смещение, добавляемое к значению.
- step
Величина, на которую изменяется bar. Если None, по умолчанию составляет 1/10 от bar.
- force_step
Если True, bar может принимать только дискретные значения с шагом, заданным в step. Если False, bar может принимать любое значение в пределах диапазона.
- action
Если не None, действие, вызываемое при изменении значения переменной.
- min
Минимальное значение bar. Если заданы min и max, range и offset вычисляются на их основе.
- max
Максимальное значение bar. Если заданы min и max, range и offset вычисляются на их основе.
- XScrollValue(viewport)
Значение adjustment, которое горизонтально прокручивает viewport с заданным id на текущем экране. viewport должен быть определён до того, как будет определён bar с этим значением.
- YScrollValue(viewport)
Значение adjustment, которое вертикально прокручивает viewport с заданным id на текущем экране. viewport должен быть определён до того, как будет определён bar с этим значением.
Значения для полей ввода (Input Values)
Значения для полей ввода (Input values) используются с текстовыми полями ввода для установки текста по умолчанию, для
принятия измененного текста, для реакции на нажатие клавиши Enter и для определения,
является ли текст редактируемым по умолчанию. Чтобы создать новое значение для поля ввода, унаследуйте класс InputValue.
Определенные в Ren'Py значения для полей ввода наследуются от InputValue, что означает,
что все значения также включают методы Enable(), Disable() и Toggle(), которые возвращают
действия, соответственно включающие, отключающие и переключающие режим редактирования. См. также
действие DisableAllInputValues().
- DictInputValue(dict, key, default=True, returnable=False)
Значение ввода, которое обновляет
dict[key].- dict
Может быть объектом dict или списком.
- default
Если истинно, это поле ввода может быть редактируемым по умолчанию.
- returnable
Если истинно, значение этого поля ввода будет возвращено, когда пользователь нажмёт enter.
- FieldInputValue(object, field, default=True, returnable=False)
Значение ввода, которое обновляет поле field в объекте object.
- field
Строка, задающая имя поля.
- default
Если истинно, это поле ввода может быть редактируемым по умолчанию.
- returnable
Если истинно, значение этого поля ввода будет возвращено, когда пользователь нажмёт enter.
- FilePageNameInputValue(pattern='Page {}', auto='Automatic saves', quick='Quick saves', page=None, default=False)
Значение ввода, которое обновляет имя страницы сохранения файла.
- pattern
Используется для имени страницы по умолчанию. Выполняется подстановка в стиле Python, так что {} заменяется номером страницы.
- auto
Имя страницы автосохранения.
- quick
Имя страницы быстрого сохранения.
- page
Если указан, номер отображаемой страницы. Обычно это следует оставлять как None, чтобы использовать текущую страницу.
- default
Если истинно, это поле ввода может быть редактируемым по умолчанию.
- LocalVariableInputValue(variable, default=True, returnable=False)
Значение ввода, которое обновляет локальную переменную в экране, используемом через
use.Для обращения к переменной в экране верхнего уровня, предпочтительнее использовать
ScreenVariableInputValue().Для получения дополнительной информации см. Use.
Этот объект должен быть создан в контексте, где установлена переменная — его нельзя передать из другого места.
- variable
Строка, задающая имя обновляемой переменной.
- default
Если истинно, это поле ввода может быть редактируемым по умолчанию.
- returnable
Если истинно, значение этого поля ввода будет возвращено, когда пользователь нажмёт enter.
- ScreenVariableInputValue(variable, default=True, returnable=False)
Значение ввода, которое обновляет переменную в экране.
В экране, используемом через
use, это обращается к переменной в контексте экрана, содержащего используемый экран(ы). Для обращения к переменным внутри экрана, используемого черезuse, и только в этом случае, используйтеLocalVariableInputValue().- variable
Строка, задающая имя обновляемой переменной.
- default
Если истинно, это поле ввода может быть редактируемым по умолчанию.
- returnable
Если истинно, значение этого поля ввода будет возвращено, когда пользователь нажмёт enter.
- VariableInputValue(variable, default=True, returnable=False)
Значение ввода, которое обновляет variable.
- variable
Строка, задающая имя обновляемой переменной.
Параметр variable должен быть строкой и может быть простым именем, например, "strength", или именем с точками, разделяющими переменную и поля, например, "hero.strength" или "persistent.show_cutscenes".
- default
Если истинно, это поле ввода может быть редактируемым по умолчанию.
- returnable
Если истинно, значение этого поля ввода будет возвращено, когда пользователь нажмёт enter.
Функции и классы
Эти функции и классы полезны при работе с экранами.
Настройки (Preferences)
Хотя все настройки могут быть определены на основе действий и значений, приведенных выше, для выбора правильных требуется некоторое знание Ren'Py. Конструктор настроек упрощает это, создавая действие или значение в зависимости от имён, используемых в экране настроек по умолчанию.
- Preference(name, value=None, range=None)
Эта функция создаёт соответствующее действие или значение из настройки (preference). Имя настройки должно быть таким же, как в стандартных меню, а значение должно быть либо именем выбора, "toggle" для переключения между вариантами, конкретным значением, либо отсутствовать в случае кнопок.
Действия, которые можно использовать с кнопками и хотспотами:
Preference("display", "fullscreen") - отображать в полноэкранном режиме.
Preference("display", "window") - отображать в оконном режиме с масштабом 1x.
Preference("display", 2.0) - отображать в оконном режиме с масштабом 2.0x.
Preference("display", "any window") - отображать в оконном режиме с предыдущим размером.
Preference("display", "toggle") - переключить режим отображения.
Preference("transitions", "all") - показывать все переходы.
Preference("transitions", "none") - не показывать переходы.
Preference("transitions", "toggle") - переключить показ переходов.
Preference("video sprites", "show") - показывать все видеоспрайты.
Preference("video sprites", "hide") - использовать изображения-заменители, где возможно.
Preference("video sprites", "toggle") - переключить использование изображений-заменителей.
Preference("show empty window", "show") - Разрешить инструкциям "window show" и "window auto" показывать пустое окно вне инструкции say.
Preference("show empty window", "hide") - Запретить вышеуказанное.
Preference("show empty window", "toggle") - Переключить вышеуказанное.
Preference("text speed", 0) - мгновенное появление текста.
Preference("text speed", 142) - установить скорость текста 142 символа в секунду.
Preference("joystick") - Показать настройки джойстика.
Preference("skip", "seen") - Пропускать только виденные сообщения.
Preference("skip", "all") - Пропускать невиденные сообщения.
Preference("skip", "toggle") - Переключить между пропуском виденных и всех сообщений.
Preference("begin skipping") - Начать пропуск.
Preference("after choices", "skip") - Пропускать после выборов.
Preference("after choices", "stop") - Останавливать пропуск после выборов.
Preference("after choices", "toggle") - Переключить пропуск после выборов.
Preference("auto-forward time", 0) - Установить бесконечное время авто-прокрутки.
Preference("auto-forward time", 10) - Установить время авто-прокрутки (единица — секунды на 250 символов).
Preference("auto-forward", "enable") - Включить режим авто-прокрутки.
Preference("auto-forward", "disable") - Выключить режим авто-прокрутки.
Preference("auto-forward", "toggle") - Переключить режим авто-прокрутки.
Preference("auto-forward after click", "enable") - Оставаться в режиме авто-прокрутки после клика.
Preference("auto-forward after click", "disable") - Выйти из режима авто-прокрутки после клика.
Preference("auto-forward after click", "toggle") - Переключить режим авто-прокрутки после клика.
Preference("automatic move", "enable") - Разрешить Ren'Py автоматически перемещать мышь с помощью действия
MouseMove().Preference("automatic move", "disable") - Отключить действие
MouseMove().Preference("automatic move", "toggle") - Переключить режим автоматического перемещения мыши.
Preference("wait for voice", "enable") - Ждать завершения текущего воспроизводимого голоса перед авто-прокруткой.
Preference("wait for voice", "disable") - Не ждать завершения текущего воспроизводимого голоса перед авто-прокруткой.
Preference("wait for voice", "toggle") - Переключить ожидание голоса.
Preference("voice sustain", "enable") - Продолжать воспроизведение голоса после текущей интеракции.
Preference("voice sustain", "disable") - Не продолжать воспроизведение голоса после текущей интеракции.
Preference("voice sustain", "toggle") - Переключить продолжение голоса.
Preference("music mute", "enable") - Отключить звук для микшера музыки.
Preference("music mute", "disable") - Включить звук для микшера музыки.
Preference("music mute", "toggle") - Переключить звук для микшера музыки.
Preference("sound mute", "enable") - Отключить звук для микшера звуков.
Preference("sound mute", "disable") - Включить звук для микшера звуков.
Preference("sound mute", "toggle") - Переключить звук для микшера звуков.
Preference("voice mute", "enable") - Отключить звук для микшера голоса.
Preference("voice mute", "disable") - Включить звук для микшера голоса.
Preference("voice mute", "toggle") - Переключить звук для микшера голоса.
Preference("mixer <mixer> mute", "enable") - Отключить звук для указанного микшера.
Preference("mixer <mixer> mute", "disable") - Включить звук для указанного микшера.
Preference("mixer <mixer> mute", "toggle") - Переключить звук для указанного микшера.
Preference("all mute", "enable") - Отключить звук для каждого отдельного микшера.
Preference("all mute", "disable") - Включить звук для каждого отдельного микшера.
Preference("all mute", "toggle") - Переключить звук для каждого отдельного микшера.
Preference("main volume", 0.5) - Установить регулировку громкости, применяемую ко всем каналам.
Preference("music volume", 0.5) - Установить громкость музыки.
Preference("sound volume", 0.5) - Установить громкость звуков.
Preference("voice volume", 0.5) - Установить громкость голоса.
Preference("mixer <mixer> volume", 0.5) - Установить громкость указанного микшера.
Preference("emphasize audio", "enable") - Усилить аудиоканалы, указанные в
config.emphasize_audio_channels.Preference("emphasize audio", "disable") - Не усиливать аудиоканалы.
Preference("emphasize audio", "toggle") - Переключить усиление аудио.
Preference("self voicing", "enable") - Включает self-voicing (самоозвучивание).
Preference("self voicing", "disable") - Отключает self-voicing.
Preference("self voicing", "toggle") - Переключает self-voicing.
Preference("self voicing volume drop", 0.5) - Уменьшает громкость микшеров, не связанных с голосом, когда активно self-voicing.
Preference("clipboard voicing", "enable") - Включает озвучивание из буфера обмена.
Preference("clipboard voicing", "disable") - Отключает озвучивание из буфера обмена.
Preference("clipboard voicing", "toggle") - Переключает озвучивание из буфера обмена.
Preference("debug voicing", "enable") - Включает отладку self-voicing.
Preference("debug voicing", "disable") - Отключает отладку self-voicing.
Preference("debug voicing", "toggle") - Переключает отладку self-voicing.
Preference("rollback side", "left") - Касание левой стороны экрана вызывает откат.
Preference("rollback side", "right") - Касание правой стороны экрана вызывает откат.
Preference("rollback side", "disable") - Касание экрана не будет вызывать откат.
Preference("gl powersave", True) - Снизить частоту кадров для экономии энергии.
Preference("gl powersave", False) - Не снижать частоту кадров для экономии энергии.
Preference("gl framerate", None) - Работать с частотой кадров дисплея.
Preference("gl framerate", 60) - Работать с указанной частотой кадров.
Preference("gl tearing", True) - Допускать разрывы изображения (tearing) вместо пропуска кадров.
Preference("gl tearing", False) - Пропускать кадры вместо допущения разрывов.
Preference("font transform", "opendyslexic") - Устанавливает трансформацию шрифта для доступности в opendyslexic.
Preference("font transform", "dejavusans") - Устанавливает трансформацию шрифта для доступности в deja vu sans.
Preference("font transform", None) - Отключает трансформацию шрифта для доступности.
См.
config.font_transformsо том, как добавить трансформации шрифтов.Preference("font size", 1.0) - Устанавливает коэффициент масштабирования размера шрифта для доступности.
Preference("font line spacing", 1.0) - Устанавливает коэффициент масштабирования вертикального межстрочного интервала для доступности.
Preference("system cursor", "disable") - Использовать курсор, определённый в
config.mouseилиconfig.mouse_displayable.Preference("system cursor", "enable") - Использовать системный курсор, игнорируя
config.mouse.Preference("system cursor", "toggle") - Переключить системный курсор.
Preference("high contrast text", "enable") - Включает белый текст на чёрном фоне.
Preference("high contrast text", "disable") - Отключает высококонтрастный текст.
Preference("high contrast text", "toggle") - Переключает высококонтрастный текст.
Preference("audio when minimized", "enable") - Включает воспроизведение звуков, когда окно свёрнуто.
Preference("audio when minimized", "disable") - Отключает воспроизведение звуков, когда окно свёрнуто.
Preference("audio when minimized", "toggle") - Переключает воспроизведение звуков при свёрнутом окне.
Preference("audio when unfocused", "enable") - Включает воспроизведение звуков, когда окно не в фокусе.
Preference("audio when unfocused", "disable") - Отключает воспроизведение звуков, когда окно не в фокусе.
Preference("audio when unfocused", "toggle") - Переключает воспроизведение звуков при отсутствии фокуса.
Preference("web cache preload", "enable") - Включает предзагрузку веб-кэша.
Preference("web cache preload", "disable") - Отключает предзагрузку веб-кэша и удаляет предзагруженные данные.
Preference("web cache preload", "toggle") - Переключает состояние предзагрузки веб-кэша.
Preference("voice after game menu", "enable") - Продолжать воспроизведение голоса при входе в игровое меню.
Preference("voice after game menu", "disable") - Останавливать воспроизведение голоса при входе в игровое меню.
Preference("voice after game menu", "toggle") - Переключает состояние воспроизведения голоса после входа в игровое меню.
Preference("restore window position", "enable") - Восстанавливать положение окна при запуске игры.
Preference("restore window position", "disable") - Не восстанавливать положение окна при запуске игры.
Preference("restore window position", "toggle") - Переключает состояние восстановления положения окна.
Preference("mono audio", "enable") - Принудительно смешивать аудио в моно.
Preference("mono audio", "disable") - Отключает принудительное смешивание аудио в моно.
Preference("mono audio", "toggles") - Переключает режим моно аудио.
Значения, которые можно использовать с ползунками (bars):
Preference("text speed")
Preference("auto-forward time")
Preference("main volume")
Preference("music volume")
Preference("sound volume")
Preference("voice volume")
Preference("mixer <mixer> volume")
Preference("self voicing volume drop")
Preference("font size")
Preference("font line spacing")
Preference("font kerning")
Параметр range можно задать, чтобы указать диапазон некоторых ползунков. Для "text speed" он по умолчанию равен 200 cps. Для "auto-forward time" он по умолчанию равен 30.0 секунд на порцию текста. (Это максимумы, а не значения по умолчанию.)
Действия, которые можно использовать с кнопками:
Preference("renderer menu") - Показать меню рендерера.
Preference("accessibility menu") - Показать меню специальных возможностей.
Preference("reset") - Сбросить настройки до значений по умолчанию.
Эти экраны предназначены для внутреннего использования и не подлежат настройке.
- GetCharacterVolume(voice_tag)
Возвращает громкость, связанную с voice_tag, число от 0.0 до 1.0, которое интерпретируется как доля громкости микшера для канала voice.
Геймпад (Gamepad)
Эти функции и действия работают с геймпадом.
- GamepadCalibrate()
Действие, которое запускает процедуру калибровки геймпада.
- GamepadExists(developer=True)
Функция, которая возвращает true, если геймпад присутствует, и false в противном случае.
- developer
Заставляет эту функцию всегда возвращать true, пока
config.developerистинно.
Файловые функции
Эти функции возвращают полезную информацию о файлах. Они используют ту же страницу по умолчанию, что и файловые действия.
- FileCurrentPage()
Возвращает текущую страницу файлов в виде строки.
- class FileCurrentScreenshot(empty=None, **properties)
Отображаемый объект, который показывает снимок экрана, который будет сохранён с текущим файлом, если снимок был сделан при входе в меню или с помощью
FileTakeScreenshot().Если текущего снимка экрана нет, вместо него отображается empty. (Если empty равно None, по умолчанию используется
Null().)
- FileJson(name, key=None, empty=None, missing=None, page=None, slot=False)
Получает доступ к информации в формате Json, связанной с name.
Всегда возвращает empty, если слот пуст.
В противном случае, если key равен None, возвращает весь словарь, содержащий данные Json.
В противном случае возвращает json[key], если key определён в json-объекте сохранения, и missing, если сохранение с таким именем существует, но не содержит key.
Такие Json-данные добавляются в слот сохранения с помощью коллбэков, зарегистрированных через
config.save_json_callbacks.По умолчанию определены следующие ключи:
- _save_name
Значение
save_nameна момент сохранения игры.- _renpy_version
Версия Ren'Py, с помощью которой было создано сохранение.
- _version
Значение
config.versionна момент создания сохранения.- _game_runtime
Результат вызова
renpy.get_game_runtime().- _ctime
Время создания сохранения в секундах с 1 января 1970 года, UTC.
- FileLoadable(name, page=None, slot=False)
Это функция, которая возвращает true, если файл можно загрузить, и false в противном случае.
- FileNewest(name, page=None, slot=False)
Возвращает True, если это самый новый слот сохранения, или False в противном случае.
- FilePageName(auto='a', quick='q')
Возвращает имя текущей страницы файлов в виде строки. Если это обычная страница, возвращается её номер. В противном случае, возвращается auto или quick.
- FileSaveName(name, empty='', page=None, slot=False)
Возвращает save_name, которое было действующим на момент сохранения файла, или empty, если файл не существует.
- FileScreenshot(name, empty=None, page=None, slot=False)
Возвращает снимок экрана, связанный с данным файлом. Если файл не может быть загружен, возвращается empty, если только он не равен None, и в этом случае создаётся Null displayable.
Возвращаемое значение — displayable.
- FileSlotName(slot, slots_per_page, auto='a', quick='q', format='%s%d')
Возвращает имя нумерованного слота. Предполагается, что слоты на обычных страницах нумеруются в линейном порядке, начиная с 1, и что номера страниц также начинаются с 1. Когда slot равен 2, а slots_per_page равен 10, и другие переменные имеют значения по умолчанию:
Когда отображается первая страница, возвращается "2".
Когда отображается вторая страница, возвращается "12".
Когда отображается страница автосохранений, возвращается "a2".
Когда отображается страница быстрых сохранений, возвращается "q2".
- slot
Номер слота для доступа.
- slots_per_page
Количество слотов на странице.
- auto
Префикс для страницы автосохранений.
- quick
Префикс для страницы быстрых сохранений.
- format
Используемый код форматирования. Ему передаются два аргумента: строка, содержащая префикс страницы, и целое число, содержащее номер слота.
- FileTime(name, format='%b %d, %H:%M', empty='', page=None, slot=False)
Возвращает время сохранения файла, отформатированное в соответствии с предоставленным format. Если файл не найден, возвращается empty.
Возвращаемое значение — строка.
- FileUsedSlots(page=None, highest_first=True)
Возвращает список использованных числовых слотов на странице.
- page
Имя страницы для сканирования. Если None, используется текущая страница.
- highest_first
Если true, первым в списке будет слот с самым большим номером. В противном случае, первым будет слот с самым меньшим номером.
Функции для боковых изображений (Side Image)
Эта функция возвращает боковое изображение для использования.
- HasSideImage()
Возвращает True, если боковое изображение будет отображено для текущего взаимодействия, и False в противном случае. Эта функция становится доступной раньше, чем SideImage (которая действительна только в начале взаимодействия), и поэтому может использоваться на экране say, чтобы сделать разметку условной в зависимости от наличия бокового изображения.
- SideImage()
Возвращает боковое изображение, связанное с текущим говорящим персонажем, или отображаемый объект Null, если такого бокового изображения не существует. Это может быть трансформация между двумя боковыми изображениями, если она установлена.
Другие функции
- CurrentScreenName()
Возвращает имя текущего экрана или None, если текущего экрана нет. В случае экрана, включённого с помощью use, эта функция возвращает имя включающего экрана, а не имя включаемого.
Всплывающие подсказки (Tooltips)
Теперь к всплывающим подсказкам можно получить доступ через свойство tooltip, доступное для всех
отображаемых объектов, и функцию GetTooltip. Функция GetTooltip
возвращает значение свойства tooltip, когда отображаемый объект
получает фокус.
Напоминаем, что значения, передаваемые в свойство tooltip, должны поддерживать
операцию сравнения на равенство.
Вот пример:
screen tooltip_example():
vbox:
textbutton "North":
action Return("n")
tooltip "To meet a polar bear."
textbutton "South":
action Return("s")
tooltip "All the way to the tropics."
textbutton "East":
action Return("e")
tooltip "So we can embrace the dawn."
textbutton "West":
action Return("w")
tooltip "Where to go to see the best sunsets."
$ tooltip = GetTooltip()
if tooltip:
text "[tooltip]"
Отображаемый объект Nearrect можно использовать для отображения всплывающих подсказок в стиле "popup" и он поддерживает специальное имя фокуса "tooltip", которому присваивается местоположение последнего фокуса, установившего подсказку:
screen tooltip_example2():
frame:
padding (20, 20)
align (.5, .3)
has vbox
textbutton "North":
action Return("n")
tooltip "To meet a polar bear."
textbutton "South":
action Return("s")
tooltip "All the way to the tropics."
textbutton "East":
action Return("e")
tooltip "So we can embrace the dawn."
textbutton "West":
action Return("w")
tooltip "Where to go to see the best sunsets."
# This has to be the last thing shown in the screen.
$ tooltip = GetTooltip()
if tooltip:
nearrect:
focus "tooltip"
prefer_top True
frame:
xalign 0.5
text tooltip
- GetTooltip(screen=None, last=False)
Возвращает всплывающую подсказку (tooltip) для элемента в фокусе или None, если ни один элемент не находится в фокусе.
- screen
Если не None, это должно быть имя или тег экрана. Если указано, эта функция возвращает подсказку, только если элемент в фокусе является частью этого экрана.
- last
Если истинно, возвращает последнее не-None значение, которое эта функция могла бы вернуть.
Устаревшее
Предупреждение
Этот способ был заменён вышеописанным, но вы можете встретить его в старых проектах.
Класс tooltip изменяет экран, когда курсор наводится на кнопку.
- class Tooltip(default)
Объект всплывающей подсказки (tooltip) можно использовать для определения части экрана, которая обновляется, когда мышь наводится на определенную область.
Объект tooltip имеет поле
value, которое устанавливается в значение default, переданное в конструктор при создании tooltip'а. Когда кнопка, использующая действие, созданное tooltip'ом, оказывается под курсором, поле value изменяется на значение, связанное с этим действием.- Action(value)
Возвращает действие, которое обычно используется как свойство hovered для кнопки. Когда курсор наведен на кнопку, поле value этого tooltip'а устанавливается в value. Когда кнопка теряет фокус, поле value этого tooltip'а возвращается к значению по умолчанию.
При использовании tooltip с экраном обычным поведением является создание объекта tooltip в инструкции default. Затем значение tooltip и метод action можно использовать внутри экрана. Порядок использования внутри экрана не имеет значения — можно использовать значение до того, как будет использовано действие.
Всплывающие подсказки могут принимать любое значение. Хотя в примере ниже мы используем инструкцию text для отображения строки на экране, также возможно использовать инструкцию add для добавления отображаемого объекта. Возможно и более сложное поведение.
screen tooltip_test:
default tt = Tooltip("No button selected.")
frame:
xfill True
has vbox
textbutton "One.":
action Return(1)
hovered tt.Action("The loneliest number.")
textbutton "Two.":
action Return(2)
hovered tt.Action("Is what it takes.")
textbutton "Three.":
action Return(3)
hovered tt.Action("A crowd.")
text tt.value