Эффекты - TrueCat17/Ren-Engine GitHub Wiki
Под эффектами в данном случае подразумеваются плавные переходы, появления/исчезновения и т. п.
Для их использования нужно просто указать нужный эффект после ключевого слова with
, например:
show np smile at left with dissolve
Использоваться они могут в командах scene
, show
и hide
.
После текущей команды (в примере выше - show
) управление перейдёт к следующей только после завершения эффекта.
Если надо выполнить эффект к нескольким спрайтам одновременно, то with
нужно указать в отдельной строке после последней команды:
show np normal at left as np1
show np smile at right as np2
with dissolve
По умолчанию доступны следующие эффекты:
-
fade
,fade2
,fade3
- плавный переход старой сцены в чёрный фон, затем оттуда - к новой, за 1, 2 и 3 сек. соответственно. -
flash
,flash2
,flash_red
- тоже самое (хотя время другое), ноflash
иflash2
используют белый цвет, аflash_red
- красный. -
dspr
,dissolve
,dissolve2
- с помощью изменения прозрачности плавно заменяет старое изображение новым за 0.2, 1 и 2 сек. соответственно. -
vpunch
,hpunch
- трясут экран вертикально (v) и горизонтально (h) 0.5 сек.
Объявлены они таким образом (Ren-Engine/rpy/sprite_effects/*.rpy
):
fade = Fade(0.5)
fade2 = Fade(1)
fade3 = Fade(1.5)
flash = Fade(1, color="#FFF")
flash2 = Fade(2, 2, 2, color="#FFF")
flash_red = Fade(1, color="#E11")
dspr = Dissolve(0.2)
dissolve = Dissolve(0.5)
dissolve2 = Dissolve(1)
hpunch = Punch('xpos', 10, 0.1, 0.5)
vpunch = Punch('ypos', 7, 0.1, 0.5)
Так что, если вам нужны те же самые эффекты, но с другими параметрами (например, с другим временем), то можете легко сделать аналогичные:
-
Fade
принимает такие параметры:-
out_time
- время перехода к фоновому цвету, -
hold_time = 0
- время ожидания, -
in_time = None
- время перехода от цвета к новой сцене, -
color = '000'
- цвет.
-
-
Dissolve
: Просто время (в сек.). -
Punch
:-
prop
- изменяемое свойство, -
dist
- амплитуда, -
time_one
- время 1 периода, -
time_all
- всё время.
- Хотя в Ren'Py эти встряски реализованы иначе.
-
Кстати, если эффект используется только один раз, то можно напрямую сделать так:
show np normal with Dissolve(1.5)