首页 > 解决方案 > pygame.draw.rect() 没有绘制另一个矩形

问题描述

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

我做了一类画不同的人物。为了解决这个问题,我删除了这个类并做了一个简单的函数。身份证也没用。然后我只是把函数语句的代码放在程序中。

我得到的最终代码是这个

import pygame

black = (0,0,0)
yellow = (200,200,0)

def drawShopButton():
    pygame.draw.rect(gameDisplay, black, (690,435,110,65))
    pygame.display.update()
    pygame.draw.rect(gameDisplay, yellow, (0,500,110,65))
    pygame.display.update()

pygame.init()
gameDisplay = pygame.display.set_mode((800, 500))
gameDisplay.fill((40, 120, 0))
pygame.display.update()
pygame.draw.rect(gameDisplay, black, (690,435,110,65))
pygame.display.update()
clock = pygame.time.Clock()
clock.tick(40)

pygame.draw.rect(gameDisplay, yellow, (0,500,110,65))
pygame.display.update()
mouse = pygame.mouse.get_pos()
click = pygame.mouse.get_pressed()
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            quit()

    pygame.display.update()

标签: pythonpython-3.xpygamedrawrectangles

解决方案


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


推荐阅读