Настройка паузы - 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.


Далее ->
<- Назад

⚠️ **GitHub.com Fallback** ⚠️