我之前使用过pygame和python 2.7,但最近我'升级'到python 3.2.我下载并安装了Pygame的最新版本,据说可以使用这个版本的python.但是,我有一个相当令人沮丧的错误,应该是一个简单的代码块.代码是:
import pygame, random
title = "Hello!"
width = 640
height = 400
pygame.init()
screen = pygame.display.set_mode((width, height))
running = True
clock = pygame.time.Clock()
pygame.display.set_caption(title)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.quit():
running = False
else:
print(event.type)
clock.tick(240)
pygame.quit()
Run Code Online (Sandbox Code Playgroud)
每次我运行它我得到:
17
1
4
Traceback (most recent call last):
File "C:/Users/David/Desktop/hjdfhksdf.py", line 15, in <module>
for event in pygame.event.get():
pygame.error: video system not initialized
Run Code Online (Sandbox Code Playgroud)
为什么我收到此错误?
Mer*_*rim 15
if event.type == pygame.quit():
Run Code Online (Sandbox Code Playgroud)
在上面的行中,你正在调用pygame.quit()哪个是函数,而你真正想要的是常量pygame.QUIT.通过调用pygame.quit(),pygame不再被初始化,这就是你得到错误的原因.
因此,将行更改为:
if event.type == pygame.QUIT: # Note the capitalization
Run Code Online (Sandbox Code Playgroud)
会解决你的问题.
重要的是要注意pygame.quit()不会退出程序.
| 归档时间: |
|
| 查看次数: |
18230 次 |
| 最近记录: |