Жесты (Gestures)
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" на английском языке
На главную страницу | Официальная документация движка | Вернуться к началу статьи |