Настройка паузы - TrueCat17/Ren-Engine GitHub Wiki
Список (list) кнопок меню паузы хранится в pause_screen.items.
Добавить в конец (низ) кнопку с надписью Exit (с авто-переводом) и действием exit_from_game() можно так:
pause_screen.items.append(['Exit', exit_from_game])
Вставить эту же кнопку в место n (отсчёт начинается с 0):
pause_screen.items.insert(n, ['Exit', exit_from_game])
О том, как её удалить, и какие тут есть подводные камни, можно прочесть в похожем абзаце про
добавление кнопки в быстрое меню.
Кратко о системе переводов можно почитать там же, как и найти ссылку на полноценную статью об этом.
Кнопки меню паузы используют стиль pause_screen_button, наследуемый от textbutton.
Свойство ground установлено в 'images/gui/menu/pause/btn_ground.png', аналогично со свойством hover.
Посмотреть на создание стиля можно в файле Ren-Engine/rpy/screens/pause.rpy.
Почитать о стилях подробнее можно здесь
(новичкам лучше прочесть всю статью целиком, иначе один лишь последний абзац не будет понятен).
Иногда (например, в моде главного меню) нужно отключить меню паузы:
pause_screen.disable = True
Также это может использоваться для отключения паузы именно по нажатию клавиши ESCAPE.
Для того, чтобы всё-таки вызвать паузу по какой-то спец. кнопке,
можно использовать код pause_screen.show(ignore_checks = True).
Также для этой цели может быть полезен абзац про игнорирование определённой клавиши в статье Горячие клавиши.
Меню паузы появляется, спускаясь снизу.
Исчезает же оно, сначала "наклоняясь", а потом "уезжая по наклонной".
На данный момент эти эффекты появления и исчезновения нельзя заменить на другие, но их можно настроить.
Наклон до исчезновения (в градусах):
pause_screen.rotate_before_hiding = 15
Время этого наклона (в секундах):
pause_screen.rotate_time = 0.2
Время исчезновения ("съезжания"):
pause_screen.disappearance_time = 0.2
И наконец, время появления ("спускания"):
pause_screen.appearance_time = 0.4
Если этих настроек недостаточно, то на данный момент вам поможет лишь полное переписывание меню паузы, о чём можно прочесть в след. абзаце.
Меню паузы - вещь довольно простая (особенно по сравнению с диалог-боксом или со скрином рпг-локации). Поэтому вы вполне можете захотеть его переписать.
Единственное, о чём тут стоит упомянуть - вам нужно будет переопределить функцию pause_screen.show:
def my_pause_show_func(ignore_checks = False):
if not ignore_checks and pause_screen.disable: return
if has_screen('pause'): return
# your code
# ...
pause_screen.show = my_pause_show_funcИменно эта функция вызывается для показа паузы, и именно она должна проводить инициализацию (например, запоминать время вызова для дальнейшего расчёта эффектов) и говорить движку отобразить скрин паузы.
Повторное напоминание: посмотреть на реализацию функций и самого скрина паузы можно в файле
Ren-Engine/rpy/screens/pause.rpy.