【发布时间】:2013-07-05 19:39:10
【问题描述】:
我正在使用像素列表从 pygame 中绘制线条。 我使用 pygame.time.get_ticks() 函数每秒向列表中添加新像素,以便在程序推进时同时绘制多条线。 这是代码中的一个sn-p:
screen_size = [self.xsize, self.ysize]
screen = pygame.display.set_mode(screen_size)
start_points = list()
start_points.append(self.get_random_pixel())
screen.fill((255, 255, 255))
while True
if time.time.get_ticks() % 1000 == 0:
start_points.append(self.get_random_pixel())
for i in range(len(start_points)):
old_coord = start_points[i]
new_coord = self.nearest_neighbor(old_coord)
pygame.draw.line(screen, self.get_col(old_coord), old_coord, new_coord, 2)
start_points[i] = new_coord
pygame.display.flip()
对此的一些看法: 1. 运行时我只得到一张线图。 2. 随着程序的推进,随着添加的像素越来越多,start_points 列表似乎确实在增长。 3. 当列表是固定大小时(比如说 100),我确实有 100 条线同时绘制。
那么这里发生了什么?为什么我不能随着时间的推移同时画更多的线条?
谢谢! 奥马尔
【问题讨论】:
-
这不可能是您的实际代码,因为至少有一个
SyntaxError。此外,它不是完整 代码。 SSCCE 更容易提供帮助,因为人们可以运行它来查看它的作用,而不是试图理解您的描述、调试它、使用它等等。 -
Pygame 有一个内置的 get_ticks 函数pygame.time.get_ticks()
-
感谢您的提示。从现在开始我会尝试使用SSCCE。
-
@monkey:我假设他已经在使用它,因为 stdlib
time模块没有time类型,也没有get_ticks()函数或方法。