Специальные параграфы Sugarcube

Материал из IFВики
Перейти к навигации Перейти к поиску

Этот раздел посвящён специальным названиям параграфов, тегов и переменных, которые имеют особое значения для SugarCube.

Примечания

  1. Все специальные наименования, перечисленные здесь, чувствительны к регистру, поэтому их нужно писать в точности как они показаны.
  2. Никогда не смешивайте специальные параграфы со специальными тегами. Поступая таким образом, вы, вероятно, сломаете что-либо, и потом будет сложно и трудно разобраться в причинах багов.

Passage Names (Специальные параграфы)

PassageDone

Используется для задач после отображения параграфа, например, повторные динамические изменения (происходящие после рендеринга и отображения каждого параграфа). Примерно равнозначен событию passagedisplay.

PassageFooter

Прилагается после каждого обработанного параграфа. Примерно равнозначен событию passagerender.

PassageHeader

Добавляется перед каждым параграфом. Примерно равнозначен событию passagestart.

PassageReady

Используется для задач перед отображением параграфа, например, повторные динамические изменения (происходящие после рендеринга и отображения каждого параграфа). Примерно равнозначен событию passagestart.

Поведение PassageDone PassageReady PassageFooter PassageHeader
Текст специальных параграфов Не отобразится в обычных параграфах. Не отобразится в обычных параграфах. Отобразится в обычных параграфах после их текста. Отобразится в обычных параграфах перед их текстом.
Код и макросы специальных параграфов Выполняются после отображения обычных параграфов и выполнения их кода и макросов. Макросы и код, выводящий значения (типа <<print>>) не отображаются в обычном параграфе. Выполняются перед отображением обычных параграфов и до выполнения их кода и макросов.Макросы и код, выводящий значения (типа <<print>>) не отображаются в обычном параграфе. Выполняются после отображения обычных параграфов и выполнения их кода и макросов.Макросы и код, выводящий значения(типа <<print>>) отображается после текста обычного параграфа. Выполняются перед отображением обычных параграфов и до выполнения их кода и макросов.Макросы и код, выводящий значения(типа <<print>>) отображается перед текстом обычного параграфа.
Похожее событие passagedisplay passagestart passagerender passagestart

Start

Twine 1: Необходим. Начальный параграф, первый отображаемый параграф истории. Настраиваемый, см. Config.passages.start

Twine 2: Не является специальным параграфом. Любой параграф может быть выбран в качестве стартового, путём отметки (иконка ракеты) в контекстном меню параграфа

StoryAuthor

Устанавливает авторскую подпись на панели пользовательского интерфейса (ID элемента: story-author)

StoryBanner

Устанавливает баннер истории на панели пользовательского интерфейса (ID элемента: story-banner)

StoryCaption

Устанавливает заглавие истории на панели пользовательского интерфейса (ID элемента: story-caption).

StoryInit

Используются для задач перед запуском инициализации истории, например, инициализации переменных (происходящей в начале инициализации истории)

StoryInterface

Добавлено в: v2.18.0

Используется, чтобы заменить панель пользовательского интерфейса SugarCube по умолчанию. Его содержимое обрабатывается как обычная HTML-разметка и должно содержать элемент с ID passages, который будет главным пространством отображаемой зоны и чьё содержимое будет заменяться каждый ход. Например:

StoryMenu

Устанавливает пункты меню истории на панели пользовательского интерфейса. (ID элемента: menu-story).

Примечание: меню истории отображает только ссылки. Пока оно передаёт содержимое как любой другой параграф, вместо отображения выводимого как есть, оно пропускается через вывод и строит своё меню из сгенерированных ссылок, содержащихся в нём.

StorySettings

В Sugarcube не используется. Configuration Object выполняет те же базовые функции.

StoryShare

Используются для распространения контента через меню Поделиться (Share). Понимает только ссылки.

StorySubtitle

Устанавливает подзаголовок истории на панели пользовательского интерфейса (ID элемента: story-subtitle).

StoryTitle

Twine 1: Необходим. Устанавливает заголовок истории на панели пользовательского интерфейса и повсюду. (ID элемента: story-title). Примечание: в заголовке должен быть чистый текст названия проекта и никакой разметки.

Twine 2: Не используется. Заголовок/название истории – это часть проекта истории.

Специальные теги

bookmark

Отмечает параграф для меню «Перейти На» (Jump To ) после того, как этот параграф посещён.

nobr

Заменяет все переводы строк в параграфе (через Enter) на единичные пробелы. Равнозначен макросу <<nobr>>, применённому на весь параграф. См. Config.passages.nobr, чтобы применить это свойство ко всем отображаемым параграфам истории.

script

Twine 1: Отмечает параграф как код JavaScript, который выполняется при запуске.

Twine 2: Не специальный. Используйте для скриптов пункт «Редактировать JavaScript» в меню редактора истории.

stylesheet

Twine 1: Отмечает параграф как Каскадную таблицу стилей (CSS), которая загружается при запуске истории. Настоятельно рекомендуется использовать только один параграф таблицы стилей в истории. Дополнительно, смотрите tagged stylesheet warning.

Twine 2: Не специальный. Используйте для стилей пункт «Редактировать таблицу стилей» в меню редактора истории.

widget

Отмечает параграф как <<widget>> , который загружается во время запуска.

Специальные переменные

$

Псевдоним для jQuery по умолчанию. Примечание: Не путайте с переменными истории, которые начинаются с $ (например: $переменная).

$args

Массив параметров виджета (только внутри виджетов). См. <<widget>>.

Config

Объект настроек. См. Configuration Object.

Dialog

Диалоговое API. См. Dialog API.

Engine

API движка. См. Engine API.

jQuery

Функция библиотеки jQuery.

l10nStrings

Добавлено в: v2.10.0

Строки локализации объекта. См. Localization.

LoadScreen

Добавлено в: v2.15.0

API экрана загрузки. См. LoadScreen API.

Macro

API макросов. См. Macro API.

Passage

API параграфа. См. Passage API.

postdisplay

Объект обратного вызова задачи после отображения параграфа, устанавливаемый автором/разработчиком. См. Task Objects.

postrender

Объект обратного вызова задачи после отрисовки параграфа, устанавливаемый автором/разработчиком.См. Task Objects.

predisplay

Pre-display task callback object, set up by the author/developer. См. Task Objects.

prehistory

Pre-history task callback object, set up by the author/developer. См. Task Objects.

prerender

Pre-render task callback object, set up by the author/developer. См. Task Objects

Save

API сохранений. См. Save API.

Setting

API настройки. См. Setting API.

settings

Объект настроек игрока, устанавливаемый автором/разработчиком. См. Setting API.

setup

Объект, который автор/разработчик может использовать для установки различной статичных данных – то есть, данных, которые не меняется и не должны храниться в переменных истории, которые сделают их частью истории.

State

API состояния. См. State API.

Story

API истории. См. Story API.

UI

API пользовательского интерфейса. См. UI API.

UIBar

Добавлено в: v2.17.0

API панели пользовательского интерфейса.

См. UIBar API.

Порядок выполнения

События параграфов и объекты задач позволяют исполнять код JavaScript в определённые моменты во время перемещения по параграфам.

В порядке исполнения (в список также включены Специальные параграфы для справки):

(«Рендер» означает преобразование кода в HTML в памяти, во время рендера выполняются макросы в тексте.)

  1. Инициализация параграфа. Происходит перед изменением истории состояния.
  2. Событие passageinit.
  3. Задачи prehistory.
  4. Событие start параграфа. Идёт перед рендером входящего параграфа.
  5. Задачи predisplay.
  6. Особый параграф [#PassageReady|PassageReady]
  7. Событие passagestart
  8. Задачи prerender.
  9. Особый параграф PassageHeader
  10. Параграф render. Идёт после рендера входящего параграфа.
  11. Особый параграф PassageFooter
  12. Событие passagerender
  13. Задачи postrender.
  14. Параграф display. Идёт после вывод входящего параграфа.
  15. Особый параграф PassageDone
  16. Событие passagedisplay
  17. Задачи postdisplay.
  18. Параграф end. Идёт в конце параграфа navigation.
  19. Событие passageend.