Инструмент Interactive Director (Interactive Director)

Материал из Ren'Py Wiki
Перейти к навигации Перейти к поиску

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" на английском языке


На главную страницу Официальная документация движка Вернуться к началу статьи