Функция обратного вызова для Character (Character Callbacks)
Ren'Py включает возможность выполнения обратных вызовов при возникновении различных событий в ходе диалога. Это можно сделать, задав аргумент callback в Character(), либо установив переменные config.character_callback или config.all_character_callbacks.
Функция обратного вызова для Character вызывается с одним позиционным аргументом, представляющим произошедшее событие. К возможным событиям можно отнести:
- "begin"
- Вызывается в начале оператора say.
- "show"
- Вызывается перед отображением каждого сегмента диалога. Диалог может быть разделен на несколько сегментов с помощью текстовых тегов {w} или {p}, но всегда состоит как минимум из одного сегмента.
- "show_done"
- Вызывается после отображения каждого сегмента диалога.
- "slow_done"
- Вызывается после завершения отображения замедленного текста. Следует отметить, что это событие может произойти после "end" в тех случаях, когда диалог не вызывает взаимодействие.
- "end"
- Вызывается в конце оператора say.
Функция обратного вызова вызывается хотя бы с одним именованным аргументом:
- interact
- Принимает значение True, если диалог вызывает взаимодействие.
Другие значения позиционного аргумента и дополнительных именованных аргументов могут быть добавлены в будущем. Функция обратного вызова должна кодироваться, чтобы игнорировать аргументы, которые ей непонятны.
Пример (Example)[править | править код]
В этом примере звуковые сигналы воспроизводятся вместо голоса персонажа, когда включено замедленное выведение текста на экран:
init python:
def beepy_voice(event, interact=True, **kwargs):
if not interact:
return
if event == "show_done":
renpy.sound.play("beeps.ogg")
elif event == "slow_done":
renpy.sound.stop()
define pike = Character("Кристофер Пайк", callback=beepy_voice)
label start:
pike "Итак, квартировался на Талос IV, занимаясь своими делами, когда..."
Источник[править | править код]
- Статья "Character Callbacks" на английском языке.
- Помощь при переводе статьи "Character Callbacks" на русский язык: "Launchpad: character-callbacks"
На главную страницу | Официальная документация движка | Вернуться к началу статьи |