0

我刚刚安装了 Pygame 1.9.2 并且正在运行 Python 3.3。我无法弄清楚如何制作它,以便当我在我的 pygame 窗口中单击“X”时,程序会关闭。我相信以下代码适用于 Pygame 1.9.2 和 Python 3.2,但有什么方法可以让它在 Python 3.3 上运行?我必须改变什么才能获得正确的效果?这是一些简单的代码来说明我的意思:

# Drawing Lines

import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((600,500))
pygame.display.set_caption("Drawing Lines")

while True:
    for event in pygame.event.get():
        if event.type in (QUIT, KEYDOWN):
            sys.exit()

    screen.fill((0,0,200))

    #draw the line
    color = 255,255,0
    width = 8
    pygame.draw.line(screen, color, (100,100), (500,400), width)

    pygame.display.update()

当我运行它时,会出现一个屏幕,上面有一条对角线,就像它应该的那样,但是当我单击窗口右上角的“X”关闭窗口时,我收到以下错误消息:

Traceback (most recent call last):
  File "C:\Python33\Exercise Programs\test_code\code\chap02\DrawingLines.py", line 13, in <module>
    sys.exit()
NameError: name 'sys' is not defined

我猜如果在 mython 3.2 中运行,sys.exit() 应该关闭窗口,但在 Python 3.3 中没有这样做。窗口只是冻结,我收到该错误消息。如何在 Python 3.3 中达到预期的效果?我需要输入哪一行?

4

2 回答 2

3

哟没有导入系统。只需添加

import sys

到你的进口,那么它应该工作。

您看到一个带有绘图的窗口这一事实表明该程序在其他方面运行良好。

于 2013-05-03T19:51:31.443 回答
0

用于关闭项目窗口的实际命令是pygame.quit().

于 2020-06-25T15:39:48.573 回答