2011-07-30 19 views
13

PythonをPython 2.7で使用しましたが、最近はPython 3.2にアップグレードしました。私はPythonのこのバージョンで動作すると言われているPygameの最新バージョンをダウンロードしてインストールしました。私は、しかし、単純なコードのブロックでなければならないものに、このイライラしたエラーがありました。コードは次のとおりです。Pygameエラー:ビデオシステムが初期化されていません

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() 

そして、私が手に私はそれを実行毎回:

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 

は、なぜ私はこのエラーを取得していますか?上記の行で

答えて

15
if event.type == pygame.quit(): 

あなたが本当にしたいことは、一定pygame.QUITている間、あなたは、関数であるpygame.quit()を呼んでいます。 pygame.quit()を呼び出すと、pygameは初期化されなくなります。そのため、そのエラーが発生します。

このように行を変更:

if event.type == pygame.QUIT: # Note the capitalization 

ことはあなたの問題を解決します。

pygame.quit()はプログラムを終了しないことに注意することが重要です。

関連する問題