使用嵌套 for 循环在 Pygame 中创建矩形网格,为什么绘制不正确?
Using a nested for loop to create a grid of rectangles in Pygame, why isn't it drawing correctly?
我正在尝试根据 Pygame 实验室 here 的第 4 部分创建 5x5 矩形网格。我已经创建了我的循环,它似乎具有逻辑意义,并且在调试时坐标更新正确,但是当它绘制到屏幕上时,它会以这样的奇怪模式出现:
这是我正在使用的循环:
for x in range(0, 100, 10):
for y in range(0, 100, 10):
pygame.draw.rect(screen, GREEN, [(x, y),(x + 5, y + 5)], 1)
我显然在这里做了一些愚蠢的事情,但无法弄清楚我做错了什么。我已将宽度设置为 1 以帮助解决问题,一旦它被修复以使矩形变为实心,它将被删除。
一个pygame矩形由位置和大小指定。矩形的大小总是 (5, 5)
而不是 (x + 5, y + 5)
:
pygame.draw.rect(screen, GREEN, [(x, y),(x + 5, y + 5)], 1)
pygame.draw.rect(screen, GREEN, [(x, y), (5, 5)], 1)
我正在尝试根据 Pygame 实验室 here 的第 4 部分创建 5x5 矩形网格。我已经创建了我的循环,它似乎具有逻辑意义,并且在调试时坐标更新正确,但是当它绘制到屏幕上时,它会以这样的奇怪模式出现:
这是我正在使用的循环:
for x in range(0, 100, 10):
for y in range(0, 100, 10):
pygame.draw.rect(screen, GREEN, [(x, y),(x + 5, y + 5)], 1)
我显然在这里做了一些愚蠢的事情,但无法弄清楚我做错了什么。我已将宽度设置为 1 以帮助解决问题,一旦它被修复以使矩形变为实心,它将被删除。
一个pygame矩形由位置和大小指定。矩形的大小总是 (5, 5)
而不是 (x + 5, y + 5)
:
pygame.draw.rect(screen, GREEN, [(x, y),(x + 5, y + 5)], 1)
pygame.draw.rect(screen, GREEN, [(x, y), (5, 5)], 1)