对于学校作业,我们必须使用pygame形状创建一个图片,我有一个使用偏移的for循环的问题。我试图在道路上划分破碎的黄线。但问题是线条垂直重复。彼此堆叠在一起。
import pygame
pygame.init()
white= [255,255,255]
red = [255, 0, 0]
size = [400,500]
screen = pygame.display.set_mode(size)
done = False
clock = pygame.time.Clock()
while done == False:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
screen.fill(white)
for y_offset in range(100,0,-10):
pygame.draw.line(screen,red,[10,+y_offset],[100,0+y_offset],5)
pygame.display.flip()
pygame.quit()
如果您使用此代码,它会在彼此的顶部打印10条红色水平线。我想知道如何使线条水平重复而不是垂直重复。我不知道如何让它们像这样: - - - 有人可以帮我解决循环过程吗?我只是不明白它的偏移部分。谢谢!
答案 0 :(得分:0)
我不想泄露答案,但看看这4行是否对您没有帮助:
pygame.draw.line(screen, red, [10, 0], [100, 0], 5)
pygame.draw.line(screen, red, [110, 0], [200, 0], 5)
pygame.draw.line(screen, red, [210, 0], [300, 0], 5)
pygame.draw.line(screen, red, [310, 0], [400, 0], 5)
另外,我甚至不能100%确定你想要的是什么。
答案 1 :(得分:0)
我想出了答案!我使用了while循环,但我发现我必须将+ y_offset添加到X COORDINATE而不是Y.这允许它水平重复。谢谢你的帮助(:
y_offset = 0
while y_offset < 700:
pygame.draw.line(screen,yellow,[0+y_offset,480],[50+y_offset,480],5)
y_offset = y_offset+70