Многократное изменение раскладки клавиатуры в середине времени выполнения

Краткая информация: это для игрового движка Renpy Visual Novel (доступно на Github), который построен на Python.

Что я хочу сделать, это изменить ['dismiss'] переменная раскладки клавиатуры в null, пока воспроизводится серия переходов, поэтому читатель не может пропустить сцену. после того, как сцена закончена, я хочу снова включить по умолчанию ['dismiss'] так что пользователь может продолжить чтение VN.

То, что у меня есть в моем сценарии:

$ enter_off()
##################
# Animated Intro #
##################
scene bg_sky_winter_sunny with dissolve300s
$ enter_on()

Определено в другом разделе кода:

python early:
    # turns enter off
    # Also tried # config.keymap['dismiss'] = [] # Same result as below.
    def enter_off():
        config.keymap['dismiss'].remove('mouseup_1')
        config.keymap['dismiss'].remove('K_RETURN')
        config.keymap['dismiss'].remove('K_SPACE')
        config.keymap['dismiss'].remove('K_KP_ENTER')
        config.keymap['dismiss'].remove('joy_dismiss')
        return

    # turns enter on
    def enter_on():
        config.keymap['dismiss'].append('mouseup_1')
        config.keymap['dismiss'].append('K_RETURN')
        config.keymap['dismiss'].append('K_SPACE')
        config.keymap['dismiss'].append('K_KP_ENTER')
        config.keymap['dismiss'].append('joy_dismiss')
        return

    # copy of the default keymap in renpy-6.16.5-sdk\renpy\common\00keymap.rpy
    def full_kb():
        # the rest of the code is long and unnecessary for the question.

Теперь проблема в том, что я использую первый блок кода для вступления, dismiss переменная устанавливается равной нулю, как и ожидалось, но после того, как вступление заканчивается и сцена меняется, enter_on() не работает должным образом, либо не обновляет движок для включения значений в dismiss или не добавляет значения в dismiss, В основном я искал повсюду, где мог думать, но из-за отсутствия качественной документации я не мог понять, как заставить это работать.

Вот несколько ссылок на места, которые имеют некоторую информацию:

Документация Renpy Keymap: http://www.renpy.org/wiki/renpy/doc/reference/Keymap

Исходный код Renpy: https://github.com/renpy/renpy

Любые указатели были бы потрясающими!

1 ответ

Решение

Спросил на форумах lemmasoft и получил ответ. Ссылка здесь: http://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=25588

Другие вопросы по тегам