繁体   English   中英

全屏切换似乎立即又回到了

[英]Fullscreen toggle seems to instantly go back again

我是python的新手,我试图让键盘上的1按钮在使用pygame的应用程序中全屏切换。 不知何故,else:语句使它立即立即返回窗口模式。 至少那是我的理解。 谁能启发我为什么会发生这种情况,并希望提供一种替代方法? 这是代码:

# screen = pygame.display.set_mode((1024, 768))
# fullscreen = False
if event.key == K_1:
    if fullscreen == False:
        pygame.display.set_mode((1024, 768), FULLSCREEN)
        fullscreen = True
    else:
        pygame.display.set_mode((1024, 768))
        fullscreen = False

我认为这是在您的循环内。 如果是这样,则每次游戏刷新时,它将检查输入,并且当看到未按下K_1时,将再次禁用全屏。 您必须不断保持已完成的K_1。 您只需要删除其他。

您似乎正在检查每个帧,以查看是否K_1事件键( K_1 )。 相反,您可能要检查KEY_UP或KEY_DOWN事件。 我对pygame不熟悉-但我认为您可能可以从event变量中获取此类信息。

或者,保留一个变量来检测何时仍在按住键-可能看起来像这样:

# outside of the loop code
holding_fullscreen = false

# inside the loop code
if event.key == K_1:
    if not holding_fullscreen:
        holding_fullscreen = true
        if not fullscreen:  # more pythonic version of fullscreen == False
            # set fullscreen
        else:
            # set windowed
else:
    holding_fullscreen = False

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM