Жесты

Ren'Py включает в себя распознаватель жестов, который включается при использовании сенсорного экрана. Это позволяет использовать жесты для функций, которые в противном случае потребовали бы клавиатуру и мышь.

Распознаватель жестов сначала классифицирует свайпы по восьми направлениям компаса: "n", "ne", "e", "se", "s", "sw", "w", "nw". Северным считается направление к верху экрана. Затем он объединяет свайпы в строку, используя "_" в качестве разделителя. Например, если игрок делает свайп вниз, а затем вправо, будет создана строка "s_e".

Если config.dispatch_gesture имеет значение None, то следующим шагом жест сопоставляется с событием с помощью config.gestures. Если соответствие найдено, событие ставится в очередь с помощью renpy.queue_event(). В противном случае жест игнорируется.

Распознавание жестов включается только тогда, когда "touch" присутствует в config.variants, что обычно и происходит при запуске на устройстве с сенсорным экраном.

define config.gestures = { "n_s_w_e_w_e" : "progress_screen" }

Сопоставление жеста с событием, активируемым этим жестом.

define config.dispatch_gesture : Callable

Функция, которая используется для обработки жестов. Этой функции передаётся необработанная строка жеста. Если она возвращает значение, отличное от None, взаимодействие завершается.

renpy.cancel_gesture()

Отменяет текущий жест, предотвращая его распознавание. Эту функцию следует вызывать в displayable-объектах, которые имеют поведение, подобное жестам.