Python 如何在pygame中生成形状的无限流序列?
我试图创造一个无限的形状流:Python 如何在pygame中生成形状的无限流序列?,python,pygame,Python,Pygame,我试图创造一个无限的形状流: 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]]) 将运动创建
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
在主代码中。如何使这个序列无限大?下面是一个示例,演示了我在注释中描述的内容。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()
下面是一个示例,演示了我在评论中描述的内容。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()
做什么是无限的,确切地说?一个线性无限的形状链这是否意味着你的
for
循环应该永远运行?想让形状从前面重新出现,因为它从后面消失了,但目前它没有消失,你只需添加新的?另外,您是否正在使用设置的屏幕分辨率?如果是这样,这是什么?做什么无限,确切地说?一个线性无限形状链这是否意味着你的for
循环应该永远运行?想让形状从前面重新出现,因为它从后面消失了,但目前它没有消失,你只需要添加新的?另外,您是否正在使用设置的屏幕分辨率?如果是,这是什么?