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

Mac系统下Python2.7环境中Pygame运行崩溃问题求助

解决你的Pygame文本显示程序崩溃问题

嘿,我来帮你搞定这个崩溃的问题!在Python 2.7的Mac环境下,你的程序崩溃主要有两个核心原因,咱们直接上解决方案:

问题分析

  • 缺少事件处理循环:Mac系统对GUI程序的事件响应有硬性要求,你的代码用time.sleep(15)直接阻塞了整个程序,完全没处理任何系统事件(比如窗口关闭信号),系统会直接判定程序无响应并强制终止它。
  • 字体加载可能失败:在Mac的Python 2.7环境中,pygame.font.SysFont("Arial", 60)不一定能正确找到Arial字体,字体加载失败也会触发程序崩溃。

修复后的代码

import pygame

# 初始化Pygame
pygame.init()

# 创建窗口
window = pygame.display.set_mode((600, 300))
# 使用默认字体(避免找不到Arial的问题),也可以换成Mac自带的"Helvetica"
myfont = pygame.font.Font(None, 60)
# 渲染文本
label = myfont.render("Hello Pygame!", 1, (255, 255, 0))

# 主事件循环(这是关键!)
running = True
clock = pygame.time.Clock()
while running:
    # 处理所有系统事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    
    # 填充背景(避免画面残留,可选但推荐)
    window.fill((0, 0, 0))
    # 绘制文本到窗口
    window.blit(label, (100, 100))
    # 更新显示内容
    pygame.display.update()
    
    # 控制帧率,这里设为30帧/秒
    clock.tick(30)

# 退出Pygame
pygame.quit()

关键改动说明

  • 添加主事件循环:这是Pygame程序的标准结构,通过pygame.event.get()处理系统事件,确保程序能响应窗口关闭等操作,不会被Mac系统判定为无响应。
  • 替换字体加载方式:用pygame.font.Font(None, 60)加载默认字体,避免因找不到特定字体导致的崩溃;如果想用特定字体,可以换成Mac系统自带的字体名,比如"Helvetica"。
  • 移除time.sleep:改用pygame.time.Clock()控制帧率,既保持程序运行状态,又不会阻塞事件处理流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:41:06