You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pygame调用pygame.display.update后屏幕仍不更新,该如何解决?

Pygame屏幕不更新问题修复

你的代码存在2处直接导致显示异常的问题:

  • 核心错误:redraw_window函数中仅引用了pygame.display.update函数对象,没有加括号调用该方法,屏幕刷新逻辑从未实际执行。
  • 背景显示异常隐患:你已经通过pygame.transform.scale(bg, bg_size)得到了适配窗口尺寸的背景图对象image,但实际绘制时调用win.blit传入的仍是原始未缩放的bg,如果原图尺寸和窗口不匹配会出现背景显示不全/错位的问题。

你只需修改redraw_window函数即可解决问题,修改后的代码如下:

def redraw_window():
    win.blit(image, (0,0))
    # 加括号实际调用屏幕刷新方法
    pygame.display.update()

后续你添加玩家飞船、敌方飞船、激光等元素的绘制逻辑时,只需要将所有win.blit绘制操作放在pygame.display.update()之前执行即可,所有内容绘制完成后再统一刷新屏幕。

内容的提问来源于stack exchange,提问作者Aidan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 11:42:01