在pygame中,我可以使用列表只使用一行代码多次闪电攻击一个对象吗



我正在尝试使用pygame在python 2.7中制作一个平台生成器。我在python中使用列表方面非常缺乏经验。我想让平台可以平铺,这样它们就可以是任何长度。比方说,我希望它是250像素长,每个单独的图像是50长,我可以这样做吗:

list = [0,1,2,3,4]
screen.blit(platformimg,(list*50+x,y)

此外,我认为这部分很容易,但我该如何制作一个特定整数长度的列表。那么,如果整数是3,我怎么能列出[0,1,2]呢?

你需要做这样的事情:

for i in range(6):
    screen.blit(platformimg, (i*50+x, y))

请参阅本pygame教程中标题为从列表转到屏幕的部分。

原因是screen.blit()不接受该位置的列表参数。

如果你有一个任意的x,y位置列表,那么它应该是类似于:

positions = [(100, 30), (250, 90), (42, 623)]
for position in positions:
    screen.blit(platformimg, position)
valuesList = [x for x in range(listLen)]

其中listLen是所需的长度。示例:[x for x in range(3)]生成[0, 1, 2]

最新更新