首页 > 解决方案 > 在 pygame 中显示表面时出现问题

问题描述

所以我尝试创建一个带有白色背景和蓝色矩形的窗口。在我运行模块后,窗口成功弹出,我的调试信息表明 main 完成也打印给了顾问。但是,我的背景仍然是黑色的,矩形根本没有出现。关于为什么会发生这种情况的任何建议?谢谢!

pygame.init()
running = True

screen = pygame.display.set_mode((640,480))

WHITE=(255,255,255)
BLUE=(0,0,255)

def main():

    screen.fill(WHITE)    

    my_rect = pygame.Surface( (100,100) )
    my_rect.fill(BLUE)

    screen.blit(my_rect, [50, 50])

    pygame.draw.rect(screen,WHITE,(200,150,100,50)) # Second attempy to draw a 
                                                    # rectangle
    print ("Main statements executed")              # My debugging line

标签: pythonpygame

解决方案


display.flip您需要通过调用该函数来刷新显示。

只需pygame.display.flip在对矩形进行 blitting 后添加,就可以了:

screen.blit()
pygame.display.flip()

推荐阅读