[英]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.