2011-02-26 104 views
2

我看了看。每發現一個問題,都會被告知調用pygame.init() 當提問者說他​​們已經這樣做了,就沒有更多的回覆。 我試過了我能想到的一切,沒有任何工作。錯誤:視頻系統未初始化;有解決方案嗎?

回溯(最近通話最後一個): 文件 「C:\ Python26 \ TWC \ main.py」,線路183,在 爲電子商務在pygame.event.get(): 錯誤:視頻系統未初始化

我進口的情況下有衝突:

#imports 
import os, sys 
import pygame 
from pygame.locals import * 

這裏就是我打電話pygame.init(),只是爲了證明我:

#initialize 
os.environ["SDL_VIDEO_CENTERED"] = "1" 
pygame.init() 

#setup display 
pygame.display.set_caption("TwC V%s" % version) 
screen = pygame.display.set_mode((320, 240)) 

最後,下面是引發錯誤的行區域:

while running: 

    clock.tick(60) 

    for e in pygame.event.get(): 
     if e.type == pygame.QUIT: 
      running = False 
     if e.type == pygame.KEYDOWN and e.key == pygame.K_ESCAPE: 
      running = False 

編輯: 刪除部分代碼導致錯誤只是導致另一部分會導致同樣的錯誤,這樣就意味着問題與pygame.init() 我想只是廢除整個事情,並重做它。這不需要很長時間。

+0

如果您沒有適當的事件隊列,代碼是否工作?如果在事件處理for-loop註釋掉的情況下運行程序,是否會彈出一個窗口爲320x240? – gpcz 2011-02-26 18:07:04

+0

沒有。 pygame.init()似乎是實際的問題。 回溯(最近通話最後一個): 文件 「C:\ Python26 \ TWC \ main.py」,線路126,在 類塊(pygame.sprite.Sprite): 文件「C:\ Python26 \ TwC \ main.py「,第133行,在塊 (32,0,16,16)])#grass - 3 文件」C:\ Python26 \ TwC \ main.py「,第59行,在imgsat imgsat .append(self.imgat(rect,colorkey)) img =img = pygame.Surface(rect.size).convert() 錯誤:文件「C:\ Python26 \ TwC \ main.py」無法轉換沒有pygame.display初始化 – user551717 2011-02-26 18:46:32

+0

你是如何運行該程序。形式追溯,我可以看到你正在運行窗口。 Pygame(和顯示器)是否在閒置的外殼上工作?你有沒有嘗試從DOS shell中設置它?你有沒有嘗試將文件保存爲.pyw而不是.py? – jsbueno 2011-02-26 23:20:30

回答

1

非常簡單的修復方法是確保程序pygame.quit()中最後一行代碼不縮進。錯誤會使它看起來像你的代碼中的早期行... ....大約15分鐘欺騙了我。

相關問題