当前位置: 首页 > 知识库问答 >
问题:

Pygame在进行计算时没有响应

凤修为
2023-03-14

我目前正在pygame中开发一款AI v AI游戏,我刚刚完成它,但其中一个功能没有按预期工作。它是这样的(在pygame.event.get()循环中):

if event.type == right_input:
    for e in range(100):
        data = compute_data(variables)
        re_draw_window(data)

compute_data函数可能需要0.5秒,但在大约30次pygame窗口停止响应后,在20秒后返回事件循环时,它会显示最终结果。

共有1个答案

孟雪风
2023-03-14

这个问题是由循环中的循环引起的<代码>计算数据和重新绘制窗口连续执行100次。同时,窗口不响应,因为事件未被处理。内部循环阻塞应用程序,直到循环终止。

更改设置并在应用程序循环之前初始化变量count,并在循环中递增count
通过输入启动流程一次,然后向应用程序添加变量start,并在输入事件中设置变量:

start = False
count = 0
while True:
    # [...]

    for event in pygame.event.get():
        # [...]

        if event.type == right_input:
            # start the process
            start = True


    if start:
        # run the process
        if count < 100:
            data = compute_data(varibals)
            re_draw_window(data)
            count += 1
 类似资料:
  • 我是一个对使用python相当陌生的爱好者。自从我安装 Pygame 以来已经一周了,经过多次尝试,当我运行任何程序时,我仍然无法启动或打开 Pygame 窗口。我已经看了尽可能多的教程,并阅读了我能找到的关于类似问题的所有文章。我已经复制了在其他网站上找到的所有解决方案,但问题仍然存在。然而,更奇怪的是,我正在使用的IDE(Pycharm)很少输出错误消息,而是简单地继续运行,但从未启动Pyga

  • 在pygame中,是否有任何方法可以在面具内将某些东西blit到屏幕上。例如:如果你有一个遮罩,除了左上角和全黑图像外,所有的位都被设置为1,而不改变图像,你能保持左上角(和遮罩一样)清晰吗?只有更新一个掩码(而不是一个rect)才有助于提高效率。

  • 这是完整的代码,这是一个滚动程序的原型,它被打破了(尽管如此),但是每当我试图点击它时,我都会看到没有响应的窗口

  • 在MACBOOK上安装PYGAME时,尽管我在MAC上安装了Xcode,但还是出现了以下错误。我试图用pip命令安装pygame。 蟒蛇版本是3.7.3 pip和蟒蛇都在同一个文件夹中 用于安装的命令是:pip install pygame 收集pygame使用缓存 https://files.pythonhosted.org/packages/0f/9c/78626be04e193c062484

  • 下面是我的一个非常简单的问题: 如何使用RStudio计算vector_a和vector_b值之间的和、差和积。 和 它返回一个错误! 谁能解释这些基本计算的正确命令是什么?

  • 问题内容: 内容: 我们有一个PHP / MySQL应用程序。 计算的某些部分直接在SQL中完成。例如:最近24小时内创建的所有用户都将通过SQL查询返回(NOW()– 1天) 我和其他开发人员之间正在进行辩论,我认为我们应该这样做: A.将所有计算/代码/逻辑保存在PHP中,并将MySQL视为“愚蠢的”信息存储库 他的意见: B.根据更简单/更快的方式进行混合搭配。http://www.onex