为什么pygame矩形不会出现?

问题描述

我只是给你所有的代码并说我认为这可能与pygame有关。如果有人看到错误,或者您在自己的编译器上尝试它并且它有效,如果您能告诉我它是什么,那就太好了。现在对我来说它只是打开一个黑屏。非常感谢,代码如下:

import pygame
from pygame.locals import *
pygame.init()
test = pygame.display.set_mode((1280,660))
pygame.display.flip()

pygame.draw.rect(test,(255,255,255),(100,100,100))
running = True

while running:
    for event in pygame.event.get():
        if event.type==QUIT:
             running = False
pygame.quit()

解决方法

我们希望在所有绘图命令之后移动 pygame.display.flip()。这基本上是告诉程序在所有绘图命令之后更新屏幕。话虽如此,此行之后的所有绘制命令都不会在可视屏幕中更新。 这是修改后的代码:

import pygame
from pygame.locals import *
pygame.init()
test = pygame.display.set_mode((1280,660))

pygame.draw.rect(test,(255,255,255),(100,100,100))
pygame.display.flip()
running = True

while running:
    for event in pygame.event.get():
        if event.type==QUIT:
             running = False
pygame.quit()
,

如果您使用的是白色屏幕 255,255 是白色而您的矩形只是白色,请尝试使用 (0,0) 或任何其他颜色,您遇到了什么?

已编辑:

问题在于 pygame.display.flip() 它正在更新显示,您应该在调用 draw 后调用它