Python 在运行期间中间更改KEYMAP

Python 在运行期间中间更改KEYMAP,python,configuration,runtime,game-engine,keymapping,Python,Configuration,Runtime,Game Engine,Keymapping,快速信息:这是针对基于python构建的Renpy Visual Novel游戏引擎(可在Github上获得) 我想做的是在播放一系列转换时,将keymap的['disease']变量更改为null,以便读者不能跳过场景。场景结束后,我想重新启用默认的['disease'],以便用户可以继续读取VN 到目前为止,我的剧本中有: $ enter_off() ################## # Animated Intro # ################## scene bg_sky_w

快速信息:这是针对基于python构建的Renpy Visual Novel游戏引擎(可在Github上获得)

我想做的是在播放一系列转换时,将keymap的
['disease']
变量更改为null,以便读者不能跳过场景。场景结束后,我想重新启用默认的
['disease']
,以便用户可以继续读取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.
现在,我遇到的问题是,当我为简介使用第一个代码块时,
discouse
变量按预期设置为null,但在简介结束和场景更改后,
enter_on()
无法按预期工作,并且不更新引擎以将值包括在
disease
中,或者不将值添加到
disease
中。我基本上已经找遍了所有我能想到的地方,但是由于缺少支持文档,我真的不知道如何让它工作

以下是一些有一些信息的地方的链接:

Renpy密钥映射文档:

Renpy源代码:


任何指针都会很棒

在lemmasoft论坛上询问,并收到了答复。链接此处: