
我试图创造一个无限流动的形状:
def draw_tree(x):
pygame.draw.rect(screen, BROWN, [60+x,400,30,45])
pygame.draw.polygon(screen, GREEN, [[150+x, 400],[75+x, 250],[0+x, 400]])
pygame.draw.polygon(screen, GREEN, [[140+x, 350],[75+x, 230],[10+x, 350]])创建该运动的方式是:
for i in range(10):
draw_tree(x+150*i)
x += 1在主要代码中。如何使这个序列无限?
发布于 2017-05-07 08:07:36
这里有一个示例,演示了我在评论中描述的内容。for循环开始在i= -150处绘制6棵树,将当前的x偏移量加到其中。如果x是>= 150,只需将其重置为0。
import sys
import pygame as pg
pg.init()
screen = pg.display.set_mode((640, 480))
BROWN = pg.Color('brown')
GREEN = pg.Color('green4')
def draw_tree(x):
pg.draw.rect(screen, BROWN, [60+x, 400, 30, 45])
pg.draw.polygon(screen, GREEN, [[150+x, 400], [75+x, 250], [0+x, 400]])
pg.draw.polygon(screen, GREEN, [[140+x, 350], [75+x, 230], [10+x, 350]])
def main():
clock = pg.time.Clock()
x = 0
done = False
while not done:
for event in pg.event.get():
if event.type == pg.QUIT:
done = True
x += 4
if x >= 150:
x = 0
screen.fill((255, 255, 255))
for i in range(-150, 4*150+1, 150):
draw_tree(i+x)
pg.display.flip()
clock.tick(30)
if __name__ == '__main__':
main()
pg.quit()
sys.exit()https://stackoverflow.com/questions/43827985
复制相似问题