Преобразования и переходы в Python (Transforms and Transitions in Python)

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

Язык программирования Python может использоваться для создания новых преобразований и переходов для использования в скриптах Ren'Py.

Преобразования (Transforms)[править | править код]

Преобразование – вызываемый Python, который при вызове с отображаемым объектом возвращает другой отображаемый объект.

Например:

init python:

     # Это преобразование, которое использует правое и
     # левое преобразования.
     def right_or_left(d):
         if switch:
             return right(d)
         else:
             return left(d)


Эквивалентом ATL-преобразования в языке Python является объект Transform.


class Transform(child=None, function=None, **properties)
Преобразование применяет к своему дочернему элементу такие операции, как обрезка, вращение, масштабирование и альфа-смешивание. У объекта преобразования есть поля, соответствующие свойствам преобразования, которые он применяет к своему дочернему объекту.
child
Дочерний элемент, к которому применяется преобразование.
function
Если принимает значение не None, то это функция, которая вызывается при отображении преобразования. Функция вызывается с тремя аргументами:
  • объект преобразования.
  • указанное время, которое представляет собой количество секунд, прошедшее с момента начала выполнения функции.
  • время анимации, которое представляет собой количество секунд, в течение которых объект с такими же тегом отображается на экране.
Функция должна вернуть задержку в секундах, после которой она будет вызвана снова, или значение None для повторного вызова в начале следующего взаимодействия.


Дополнительные аргументы принимаются в качестве значений для задания свойств преобразования.
hide_request
При вызове функции присваивается значение True, чтобы показать, что преобразование скрыто.
hide_response
Если hide_request принимает значение True, можно установить значение False, чтобы предотвратить скрытие преобразования.
set_child(child)
Вызовите этот метод с новым child, чтобы изменить дочерний элемент этого преобразования.
update()
Следует вызывать, когда поле свойства преобразования обновляется вне метода обратного вызова, чтобы убедиться, что изменение вступает в силу.

Переходы (Transitions)[править | править код]

Переход – вызываемый Python, который при вызове с двумя именованными аргументами возвращает отображаемый объект, который выполняет эффект перехода. Два именованных аргумента:

old_widget
Отображаемый объект, представляющий старый экран.
new_widget
Отображаемый объект, представляющий новый экран.


Возвращаемый отображаемый объект должен иметь поле delay, содержащее данные о количестве секунд, в течение которых должен выполняться переход.

Например:

init python:

    def dissolve_or_pixellate(old_widget=None, new_widget=None):
        if persistent.want_pixellate:
            return pixellate(old_widget=old_widget, new_widget=new_widget)
        else:
            return dissolve(old_widget=old_widget, new_widget=new_widget)

Источник[править | править код]

Статья "Transforms and Transitions in Python" на английском языке.


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