Python pygame.draw.rect()不绘制另一个矩形

Python pygame.draw.rect()不绘制另一个矩形,python,python-3.x,pygame,draw,rectangles,Python,Python 3.x,Pygame,Draw,Rectangles,我正在用pygame制作一个简单的图形游戏。我想画两个矩形,但它只画一个,而不是另一个 我上了一堂画不同人物的课。为了解决这个问题,我删除了这个类并创建了一个普通函数。我也没用。然后我把函数语句的代码放到程序中 我得到的最后一个代码是 导入pygame 黑色=(0,0,0) 黄色=(200200,0) def drawShopButton(): pygame.draw.rect(游戏显示,黑色,(69045110,65)) pygame.display.update() pygame.draw.

我正在用pygame制作一个简单的图形游戏。我想画两个矩形,但它只画一个,而不是另一个

我上了一堂画不同人物的课。为了解决这个问题,我删除了这个类并创建了一个普通函数。我也没用。然后我把函数语句的代码放到程序中

我得到的最后一个代码是

导入pygame
黑色=(0,0,0)
黄色=(200200,0)
def drawShopButton():
pygame.draw.rect(游戏显示,黑色,(69045110,65))
pygame.display.update()
pygame.draw.rect(游戏显示,黄色,(0500110,65))
pygame.display.update()
pygame.init()
gameDisplay=pygame.display.set_模式((800500))
gameDisplay.fill((40120,0))
pygame.display.update()
pygame.draw.rect(游戏显示,黑色,(69045110,65))
pygame.display.update()
clock=pygame.time.clock()
时钟滴答(40)
pygame.draw.rect(游戏显示,黄色,(0500110,65))
pygame.display.update()
mouse=pygame.mouse.get_pos()
click=pygame.mouse.get_pressed()
尽管如此:
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
pygame.quit()
退出
pygame.display.update()

游戏板的左上角为(0,0),右下角为(800500)。 因此,
pygame.draw.rect(gameDisplay,黄色,(0500110,65))
正在尝试绘制一个从棋盘右上方开始的(110,65)宽而高的矩形。
您的代码可以绘制两个矩形,但超出了可见性范围。

在pygame中,您必须重新绘制所有内容。否则屏幕会被覆盖。此外,在绘制其余部分(即gameDisplay.fill(…)之前,您必须在每次迭代之前重新填充屏幕,之后您的pygame.draw函数以及pygame.update()之后(0500110,65)超出了您的(800500)范围,请替换为pygame.draw.rect(gameDisplay,yellow,(0,0110,65)),这样您的代码就可以正常工作了。