# Переходы # Синтаксис Переходы прописываются у определённых команд после ключевого параметра `with`. В качестве значения может быть указано название перехода и его параметры, или сокращенное имя из [заранее определённого списка](https://docs.lmr.su/books/gaid-po-moddingu/page/transitions "transitions") (также существует [встроенный в игру список](https://docs.lmr.su/books/igrovye-resursy/page/perexody-transitions "transitions")). Параметры перехода указываются после его названия в том порядке, в котором они прописаны в документации. Если у каких-то параметров есть значение по умолчанию, их можно не указывать — но только в том случае, если параметры, стоящие после, тоже не планируется использовать. В противном же случае можно явно указать название параметров и их значения, при этом порядок неважен, и часть параметров (если у них есть значения по умолчанию) можно пропустить. Это делается при помощи символа `:` (двоеточие), которое разделяет название параметра и его значение: ``` with [название перехода] параметр:значение параметр2:значение ``` Рассмотрим на примере перехода [`crossfade`](https://docs.lmr.su/books/komandy-scenariia/page/spraity-character#bkmrk-crossfade) спрайтов: у данного перехода есть два параметра — `fadeOut` и `fadeIn`, которые отвечают за продолжительность исчезновения активного спрайта и появление нового соответственно. У обоих параметров есть значения по умолчанию, поэтому указывать их необязательно. Попробуем указать значение параметра `fadeIn`, не указывая при этом `fadeOut`: ``` # выводим спрайт Химицу show hi with dissolve "..." # применяем переход crossfade, указав нужный параметр show hi at right with crossfade fadein:3 ``` Таким образом активный спрайт Химицу исчезнет через 0.5 секунд — именно такое значение по умолчанию у `fadeOut` — а новый спрайт появится справа через 3 секунды.

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

Если бы мы использовали короткий синтаксис, пришлось бы дополнительно указывать значение для `fadeOut`: ``` # выводим спрайт Химицу show hi with dissolve "..." # применяем переход crossfade; делает то же самое, что и в предыдущем примере show hi at right with crossfade 0.5 3 ``` # Фоны (background) Список переходов, которые можно использовать с командой `scene`. ### Dissolve ``` dissolve [duration] (useLerp) ``` - `duration` — продолжительность перехода в секундах. - `useLerp` — булевое значение. Если true, будет использоваться линейная интерполяция. По умолчанию стоит `false`. ##### Демонстрация
1 ``` scene bg akihibara_day "..." window hide scene bg akihibara_night with dissolve 2 pause hard 2 "..." ```
2 ``` scene bg akihibara_day "..." window hide scene bg akihibara_night with dissolve 2 true pause hard 2 "..." ```
### Fade ``` fade [fadeOut] [hold] [fadeIn] (color) ``` - `fadeOut` — продолжительность затемнения в секундах. - `hold` — продолжительность паузы после затемнения в секундах. - `fadeIn` — продолжительность исчезновения затемнения в секундах. - `color` — цвет затемнения, может быть ID цвета или его значение. По умолчанию чёрный. ##### Демонстрация
1 ``` scene bg akihibara_day "..." window hide scene bg akihibara_night with fade 1 2 1 yellow pause hard 2 "..." ```
### Pattern ``` pattern [pattern] (duration) ``` - `pattern` — название изображения паттерна. - `duration` — продолжительность перехода в секундах. По умолчанию 1 секунда. ##### Демонстрация
1 ``` scene bg akihibara_day "..." window hide scene bg akihibara_night with pattern bottomleft 2 pause hard 2 "..." ```
### SlideIn ``` slidein [direction] (duration) ``` - `direction` — направление, в котором фон должен "заезжать" в кадр. Возможные значения: `up` — верх `down` — низ `left` — лево `right` — право - `duration` — продолжительность перехода в секундах. По умолчанию 1 секунда. ##### Демонстрация
1 ``` scene bg akihibara_day "..." window hide scene bg akihibara_night with slidein left 2 pause hard 2 "..." ```
### SlideOut ``` slideout [direction] (duration) ``` - `direction` — направление, в котором активный фон должен "выезжать" из кадра. Возможные значения: `up` — верх `down` — низ `left` — лево `right` — право - `duration` — продолжительность перехода в секундах. По умолчанию 1 секунда. ##### Демонстрация
1 ``` scene bg akihibara_day "..." window hide scene bg akihibara_night with slideout left 2 pause hard 2 "..." ```
# Спрайты (character) Список переходов, которые можно использовать с командой [`show`](https://docs.lmr.su/books/komandy-scenariia/page/show "show"). ### Crossfade Одновременно меняет прозрачность у активного спрайта и его замены. ``` crossfade (fadeOut) (fadeIn) ``` - `fadeOut` — продолжительность исчезновения активного спрайта. По умолчанию 0.5 секунд. - `fadeIn` — продолжительность появления нового спрайта. По умолчанию 0.5 секунд.
Демонстрация ``` scene bg akihibara_day "..." show hi "..." window hide show hi oldforma with crossfade 1 1 pause hard 2 "..." ```
### TrueDissolve Выводит новый спрайт позади активного, затем уменьшает прозрачность активного. ``` truedissolve [duration] ``` - `duration` — продолжительность перехода.
Демонстрация ``` scene bg akihibara_day "..." show hi "..." window hide show hi plate with truedissolve 1 pause hard 2 "..." ```
### Dissolve Вариативный переход, объединяющий в себе `Crossfade` и `TrueDissolve`. В случае, если у спрайтов совпадают значения `CharID` и `PoseID`, будет использован переход `TrueDissolve`, в противном случае — `Crossfade`. ``` dissolve [duration] ``` - `duration` — продолжительность перехода ### Fade Убирает активный спрайт, затем после определённой паузы выводит новый (если используется в команде hide, то просто убирает). ``` fade [fadeIn] [hold] [fadeOut] ``` - `fadeIn` — продолжительность исчезновения активного спрайта в секундах. - `hold` — продолжительность паузы. - `fadeOut` — продолжительность появления нового спрайта в секундах.
Демонстрация ``` scene bg akihibara_day "..." show hi "..." window hide show hi plate with fade 0.5 1 0.5 pause hard 2 "..." ```
# Экран (screen) Список переходов экрана, которые можно использовать с командой `with`. ### Fade Затемняет экран, затем после определённой паузы убирает затемнение. ``` fade (fadeOut) (hold) (fadeIn) (color) ``` - `fadeOut` — продолжительность затемнения в секундах. По умолчанию 0.5 секунд. - `hold` — продолжительность паузы после затемнения в секундах. По умолчанию 1 секунда. - `fadeIn` — продолжительность исчезновения затемнения в секундах. По умолчанию 0.5 секунд. - `color` — цвет затемнения, может быть ID цвета или его значение. По умолчанию чёрный.
Демонстрация ``` scene bg akihibara_day "..." with fade 1 1 1 red "..." ```
### Hpunch / Vpunch Горизонтальная / вертикальная встряска экрана. ``` hpunch (duration) (strength) (vibrato) (randomness) (fadeOut) ``` - `duration` — продолжительность тряски в секундах. По умолчанию 1. - `strength` — сила тряски. По умолчанию 3. - `vibrato` — сила вибрации. По умолчанию 10. - `randomness` — значение от 0 до 180, определяет, насколько направление тряски будет случайным. По умолчанию 0. - `fadeOut` — булевое значение. Если true, то тряска закончится плавно. По умолчанию true.
hpunch ``` scene bg akihibara_day "..." with hpunch "..." ```
vpunch ``` scene bg akihibara_day "..." with vpunch "..." ```