Делаем задержку диалога в renpy более эффективной

В моем визуальном романе у меня есть небольшие паузы между диалогами. В настоящее время код выглядит так.

Код работает нормально. Но я чувствую, что это чрезвычайно неэффективно и может стать очень грязным, когда я в конечном итоге доберусь до сотен строк диалога.

Есть ли способ сделать этот скрипт более эффективным? Если да, то как?

Спасибо за вашу помощь.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
80
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете сделать что-то с обратными вызовами персонажей. Он позволяет добавлять функции, которые запускаются каждый раз, когда говорит определенный персонаж.

init python:
    def Dialogue_Gap(event,pause=0.0,**kwargs):
        if event == "begin":
            renpy.pause(pause)

define delay_showing = Character(callback=Dialogue_Gap,cb_pause=0.75)

label start:
    "It was quiet."
    delay_showing "Too..."
    delay_showing "Quiet..."

Вы также можете применить его к нескольким персонажам одновременно, используя config.all_character_callbacks, если хотите.

init python:
    def Dialogue_Gap(event,pause=0.0,**kwargs):
        if event == "begin":
            renpy.pause(pause)

    config.all_character_callbacks = [Dialogue_Gap]

define delay_showing = Character(cb_pause=0.75)
define b = Character("Show Talkin' Bob",cb_pause=1.5)

label start:
    "It was quiet."
    delay_showing "Too..."
    delay_showing "Quiet..."
    b "Hi"

И если вы хотите, чтобы он применялся ко всем по умолчанию, вы можете изменить параметр «пауза», чтобы он был чем-то отличным от нуля.

Другие вопросы по теме

Похожие вопросы

Как прочитать csv с неработающим заголовком в pandas?
Пробелы в сюжете скрипки слишком велики и должны быть исправлены
Как сопоставить элемент из одного списка со всеми элементами в подсписке, чтобы сформировать список кортежей (координат)
Я получаю сообщение об ошибке torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse) при вызове функции train.train() модели GPT2
Превышено максимальное количество повторных попыток с URL-адресом: / (вызвано SSLError (FileNotFoundError (2, «Нет такого файла или каталога»)))) только во время отладки
Занимает много времени при создании изображения на питоне с сообщением: Колесо сборки для панд (pyproject.toml): все еще работает
AttributeError: объект «список» не имеет атрибута «сходство» при использовании средства извлечения плотных проходов (сосновой шишки) в Haystack – Python
Как сделать строку без учета регистра.startswith
TypeError: Unhashable type: 'numpy.ndarray' в keras
Как ускорить этот код для сечения Пуанкаре с помощью Numba?