2015-02-09 112 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