首页 文章

Pygame黑屏 - 赢了't Show What I' ve写的

提问于
浏览
0

我已经开始使用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 回答

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

相关问题