微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法检测用户正在移动的pygame显示窗口?

如何解决有没有办法检测用户正在移动的pygame显示窗口?

我正在使用Pygame编写游戏。当游戏窗口打开时,在游戏更改了屏幕上显示内容之后,我目前只有程序调用pygame.display.update。将屏幕刷新限制为仅在必要时有效。我发现移动游戏窗口会导致屏幕损坏,这有一个副作用,即使程序本身不需要一个,它也要求程序强制刷新。

我的问题是是否存在pygame事件(我没有看到)或其他事件,可以用来迫使游戏在窗口移动后刷新屏幕。

解决方法

好的,我碰巧遇到了一个代码片段,该片段向控制台报告事件: http://www.poketcode.com/en/pygame/events/index.html

运行此命令很有用,因为我注意到每次将窗口部分移出屏幕时,pygame都会在窗口区域移回屏幕时触发VideoExpose事件。

因此,我在事件循环中添加了以下代码,效果很好!

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        if event.type == pygame.VIDEOEXPOSE:
            game.update_panels(force=True)

    game.update_panels(force=False)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。