2013-06-02 66 views
0

我试图打印出对应于名称列表的图像。通过使用循环更改图像和图像位置[python]

我有下面的代码已经:

for item in player_hand: 
    screen.blit(pygame.image.load(os.path.join('Images',item.name+'.png')), (100, 100)) 

我想更新的元组(100,100),使每个新的图像被打印到一张图像的右侧。

完成此操作的最简单方法是什么?

+0

如果您在blit时加载图像,速度会变慢。在循环到列表/字典之前加载您的图像。 – ninMonkey

回答

1

使用enumerate向循环中引入增加的变量。比如

for n, item in enumerate(player_hand): 
    screen.blit(pygame.image.load(os.path.join('Images',item.name+'.png')), (100+n*10, 100)) 
+1

这是完美的。当我学到新的东西时就喜欢它。谢谢@ 0sh – bhamhawker

0

是这样的?

count=0 
for item in player_hand: 
    screen.blit(pygame.image.load(os.path.join('Images',item.name+'.png')), (100+count, 100)) 
    count=count+distance 

这里距离是多少你右边需要

这种方式是最好的,因为你可以改变多少通过增加一个阵列的值的每个循环重复一次移动图像! (例如:如果您需要不同的距离或具有不同大小的图案)