В моем визуальном романе у меня есть небольшие паузы между диалогами. В настоящее время код выглядит так.
Код работает нормально. Но я чувствую, что это чрезвычайно неэффективно и может стать очень грязным, когда я в конечном итоге доберусь до сотен строк диалога.
Есть ли способ сделать этот скрипт более эффективным? Если да, то как?
Спасибо за вашу помощь.
Вы можете сделать что-то с обратными вызовами персонажей. Он позволяет добавлять функции, которые запускаются каждый раз, когда говорит определенный персонаж.
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"
И если вы хотите, чтобы он применялся ко всем по умолчанию, вы можете изменить параметр «пауза», чтобы он был чем-то отличным от нуля.