Инструмент Interactive Director (Interactive Director)
Interactive Director – инструмент, позволяющий редактировать скрипт вашей игры изнутри самого движка Ren'Py с возможностью предпросмотра результатов редактирования в реальном времени. Этот инструмент не заменяет собой текстовый редактор, который по-прежнему требуется для написания диалогов, пунктов меню выбора и логики визуальной новеллы.
Скорее данный инструмент нацелен на то, чтобы помочь вам при редактировании вашего игрового скрипта путем добавления:
- операторов изображения (say, show и hide);
- оператора эфектов перехода (with);
- операторов аудио (play, queue, stop и voice).
Использование Interactive Director (Using the Director)[править | править код]
Вы можете получить доступ к инструменту интерактивного редактирования после запуска вашей новеллы. Для этого нажмите на клавиатуре клавишу D (без нажатия клавиши Shift). Если это ваш первый запуск инструмента, Ren'Py перезагрузит игру для того, чтобы убедиться в наличии данных, требуемых для редактирования.
На первом экране инструмента отображается список строк, выполненных до текущей строки. Для продвижения вперед по содержанию скрипта щелкните вне окна расположения строк, а для отката назад прокрутите колесико мыши. Для добавления новой строки щелкните значок "+", расположенный между строками, а для редактирования строки щелкните значок "✎", расположенный перед строкой.
При редактировании содержимого строки тип оператора можно выбрать вместе с соответствующими параметрами.
Кнопки в Interactive Director:
- Добавить – добавление новой строки;
- Изменить – изменение текущей строки;
- Отмена – отмена внесенных правок;
- Убрать – удаление текущей строки;
- Принять – после окончания редактирования нажмите данную кнопку, чтобы внести изменения в содержимое скрипта.
Переменные (Variables)[править | править код]
Существует несколько переменных, определенных в пространстве имён director, управляющих функциями инструмента Interactive Director. Их можно задать с помощью оператора define или изменить с помощью языка программирования Python.
◇ Scene, Show и Hide[править | править код]
director.tag_blacklist = { "black", "text", "vtext" }
- Черный список тегов, которые не будут отображаться для операторов show, scene или hide.
director.scene_tags = { "bg" }
- Набор тегов, которые будут представлены для оператора scene и скрыты от оператора show.
director.show_tags = set()
- Если не пусто, для оператора show будут представлены только теги, присутствующие в этом наборе.
director.transforms = [ "left", "center", "right" ]
- Список преобразований, которые будут представлены как часть редактора. В дополнение к ним любое преобразование, определенное с помощью оператора transform вне самого Ren'Py, будет добавлено в список преобразований, который затем сортируется.
◇ With[править | править код]
director.transitions = [ "dissolve", "pixellate" ]
- Список переходов, доступных для оператора with. Поскольку переходы не могут быть обнаружены автоматически, их необходимо добавить вручную.
◇ Play, Queue, Stop и Voice[править | править код]
director.audio_channels = [ "music", "sound", "audio" ]
- Название звуковых каналов, которые можно использовать с операторами play, show и stop.
director.voice_channel = "voice"
- Название звукового канала, используемого голосом.
director.audio_patterns = [ "*.opus", "*.ogg", "*.mp3" ]
- Стандартный список звуковых шаблонов, используемый для подбора файлов, доступных в звуковом канале.
director.audio_channel_patterns = { }
- Сопоставление имени канала со списком звуковых шаблонов, доступных в этом канале. Например, если для этого параметра установлено значение { 'sound' : [ 'sound/*.opus' ], 'music' : [ 'music/*.opus' ] }, то музыкальные и звуковые каналы получают свои собственные списки шаблонов.
◇ Access[править | править код]
director.button = True
- Если принимает значение True, Interactive Director отображает экран с кнопкой для перехода в окно данного инструмента. Если принимает значение False, игра может обеспечить свой собственный доступ, предоставив Interactive Director начать действие.
◇ Line Spacing[править | править код]
director.spacing = 1
- Интервал между строкой Interactive Director (scene, show, hide, with, play, queue и voice) и строкой, не являющейся частью данного инструмента, и наоборот. Значение этих интервалов должно быть о или 1 строк, более высокий интервал может не работать.
director.director_spacing = 0
- Интервал между двумя последовательно расположенными строками Interactive Director.
director.other_spacing = 0
- Интервал между двумя последовательно расположенными строками, не являющимися частью Interactive Director.
◇ Viewport[править | править код]
director.viewport_height = 280
- Максимальная высота прокрутки областей просмотра, используемых Interactive Director.
Функции для имени аудиофайла (Audio Filename Functions)[править | править код]
Существует ряд функций для имени аудиофайла, которые могут использоваться для преобразования имён файлов, находящихся на дискe, в имена файлов в исходном коде Python. Это может использоваться функциональностью Ren'Py, которая сопоставляет имена файлов. Например, если у нас есть:
define config.voice_filename_format = "v/{filename}.ogg"
то можно определить функции:
init python in director:
def audio_code_to_filename(channel, code):
"""
Преобразует имя аудиофайла, как показано в коде,
к имени файла, как на диске.
"""
if channel == "voice":
return "v/" + code + ".ogg"
return code
def audio_filename_to_code(channel, fn):
"""
Преобразует имя аудиофайла на диске в имя файла,
как показано в коде.
"""
if channel == "voice":
return fn.replace("v/", "").replace(".ogg", "")
return fn
def audio_filename_to_display(channel, fn):
"""
Преобразует имя аудиофайла, как на диске, чтобы он мог быть
представлен создателю.
"""
if channel == "voice":
return fn.replace("v/", "").replace(".ogg", "")
return fn
в соответствии с ним.
Источник[править | править код]
Статья "Interactive Director" на английском языке
На главную страницу | Официальная документация движка | Вернуться к началу статьи |