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

标签 python python-3.x pygame draw rectangles

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

我开设了一堂绘制不同人物的类(class)。为了解决这个问题,我删除了该类并创建了一个简单的函数。 id也不起作用。然后我只是将函数语句的代码放入程序中。

我得到的最终代码是这样的

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

最佳答案

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

关于python - pygame.draw.rect() 不绘制另一个矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56867138/

相关文章:

python - 将数组与标量 : TypeError: invalid type promotion 相乘

python - 匹配器正在返回一些重复项

python - 我一直收到错误 'module' 对象没有属性 'init'

python - PyGame Y轴碰撞检测

python - 如何在Python中根据groupby()输出执行累积和

python - 在python中并行化数组行相似度计算

python-3.x - 如何使用 wxPython 制作窗口覆盖(在浏览器、游戏之上)

python-3.x - odoo 11/Python 3 : How to find expiry date of subscription if some weekdays are excluded

python - pygame中的音乐类型未实现位置

python - 如何检查 urllib2 是否遵循重定向?