如何在pygame中使用for / while循环形状来创建重复模式?

时间:2013-10-30 21:29:05

标签: loops pygame offset

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

2 个答案:

答案 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