Жесты (Gestures)

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

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

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

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

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


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

Карта от жеста до события, активируемого жестом.


define config.dispatch_gesture = None

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


renpy.cancel_gesture()

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


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

Статья "Gestures" на английском языке


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