0

对于学校作业,我们必须使用 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 条红色水平线。我想知道如何使线条水平而不是垂直重复。我不知道如何使它们像这样:- - - 有人可以帮我完成循环过程吗?我只是不明白它的抵消部分。谢谢!

4

2 回答 2

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% 确定这就是你想要的。

于 2013-10-30T21:43:49.603 回答
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
于 2013-11-01T05:05:25.150 回答