2015-02-09 135 views
0

我已經開始使用Pygame編碼,但每次運行我的腳本時,Pygame窗口都顯示爲完全黑色,即使我已經用白色填充背景並添加了蜘蛛圖像上。每次我離開窗戶時,白色背景和圖像都會短暫出現,然後窗戶關閉。我搜索了很多幫助網站,他們似乎都對某個代碼塊得出了同樣的結論,即使我看不到我的版本中有什麼問題。 這裏是代碼的全部:Pygame黑色屏幕 - 不會顯示我寫的內容

import pygame 

pygame.init() 

display_width=800 
display_height=600 

black=(0,0,0) 
white=255,255,255 
red=(255,0,0) 

gameDisplay=pygame.display.set_mode((display_width,display_height)) 
pygame.display.set_caption("Spider") 
clock=pygame.time.Clock() 

spiderImg=pygame.image.load("newspid.png") 

def spider(x,y): 
    gameDisplay.blit(spiderImg,(x,y)) 

x=(display_width*0.45) 
y=(display_height*0.8) 


Dead=False 
while not Dead: 
    for event in pygame.event.get(): 
     if event.type==pygame.QUIT: 
      Dead=True 

gameDisplay.fill(white) 
spider(x,y) 

pygame.display.update() 
clock.tick(60) 

pygame.quit() 
quit() 

的代碼,我說的是(在一個似乎永遠是問題)的塊是這樣的:

Dead=False 
while not dead: 
    for event in pygame.event.get(): 
     if event.type==pygame.QUIT: 
      Dead=True 

我不知道如果它有任何相關性,但任何建議都會有用。我現在非常渴望任何事情。謝謝。

回答

1

有了這個循環:

Dead=False 
while not dead: 
    for event in pygame.event.get(): 
     if event.type==pygame.QUIT: 
      Dead=True 

您檢查事件,直到您收到的QUIT事件。循環中斷後,運行下面的代碼:

gameDisplay.fill(white) 
spider(x,y) 

pygame.display.update() 
clock.tick(60) 

pygame.quit() 
quit() 

與白色填滿屏幕,並繪製圖像,然後你的腳本結束。

你想要把繪圖部分進入死循環,太:你幫

Dead=False 
while not Dead: 
    for event in pygame.event.get(): 
     if event.type==pygame.QUIT: 
      Dead=True 

    gameDisplay.fill(white) 
    spider(x,y) 

    pygame.display.update() 
    clock.tick(60) 
+0

非常感謝! – Coder 2015-02-14 08:46:02