给定 x 和 y 坐标绘制形状 pygame
Draw shape given x and y coordinates pygame
我正在尝试绘制一系列给定坐标的矩形,坐标只是 x 和 y 值的列表。
这是我的代码:
import pygame
pygame.init()
screen = pygame.display.set_mode((400, 400))
x = [5, 5, 4, 5]
y = [2, 3, 4, 4]
def draw(x, y):
block = 30
coord = zip(x, y)
for _x, _y in coord:
_x1 = _x * block
_y1 = _y * block
x2 = _x1 + block
y2 = _y1 + block
pygame.draw.rect(screen, 0xffffff, (_x1, _y1, x2, y2))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
draw(x, y)
pygame.display.flip()
pygame.quit()
quit()
此代码应绘制类似于以下的形状:
0
0
00
相反,它绘制的东西形状不连贯。
更改此行:
pygame.draw.rect(screen, 0xffffff, (_x1, _y1, x2, y2))
对此:
pygame.draw.rect(screen, 0xffffff, (_x1, _y1, block, block))
draw.rect 以矩形为参数,由 (x, y, width, height)
对于 _x1 = 5, _y1 =2
如果你这样做 (_x1, _y1, x2, y2)
这意味着 (x=150, y=60, width=180, height=90)
我正在尝试绘制一系列给定坐标的矩形,坐标只是 x 和 y 值的列表。
这是我的代码:
import pygame pygame.init() screen = pygame.display.set_mode((400, 400)) x = [5, 5, 4, 5] y = [2, 3, 4, 4] def draw(x, y): block = 30 coord = zip(x, y) for _x, _y in coord: _x1 = _x * block _y1 = _y * block x2 = _x1 + block y2 = _y1 + block pygame.draw.rect(screen, 0xffffff, (_x1, _y1, x2, y2)) running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False draw(x, y) pygame.display.flip() pygame.quit() quit()
此代码应绘制类似于以下的形状:
0 0 00
相反,它绘制的东西形状不连贯。
更改此行:
pygame.draw.rect(screen, 0xffffff, (_x1, _y1, x2, y2))
对此:
pygame.draw.rect(screen, 0xffffff, (_x1, _y1, block, block))
draw.rect 以矩形为参数,由 (x, y, width, height)
对于 _x1 = 5, _y1 =2
如果你这样做 (_x1, _y1, x2, y2)
这意味着 (x=150, y=60, width=180, height=90)