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

为什么我的Pygame窗口运行几秒后无响应?附代码求助

Pygame窗口冻结的问题修复

你的代码有两个关键问题导致窗口冻结:

  • 事件处理循环和屏幕更新代码被放在了主while循环外面,主循环一直在重复绘制背景,但完全没机会处理用户的退出操作,系统会判定程序无响应,直接冻结窗口。
  • 代码里有一行无意义的(5, 0)语句,建议删掉。

修复后的完整代码:

import pygame
import sys

pygame.init()

# game window
screen_width = 800
screen_height = 400
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption('battle')

# load images
# background image
background_img = pygame.image.load(r"C:\Users\olive\AppData\Local\Programs\Python\Python312\Lib\idlelib\created games.package\rpg\img\setting\Background.png").convert_alpha()

# function for drawing background
def draw_bg():
    screen.blit(background_img,(0,0))

run = True

while run:
    # draw background
    draw_bg()

    # 事件处理要放在主循环内
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    # 屏幕更新也要放在主循环内
    pygame.display.update()
          
pygame.quit()

内容的提问来源于stack exchange,提问作者i need help

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 00:48:16