【问题标题】:Change image AND image position by using loops [python]使用循环更改图像和图像位置 [python]
【发布时间】:2013-06-02 19:27:33
【问题描述】:

我正在尝试打印与名称列表相对应的图像。

我已经有以下代码:

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

我想更新元组 (100,100),以便将每个新图像打印到前一个图像的右侧。

最简单的方法是什么?

【问题讨论】:

  • 如果在 blit 时加载图像,它会很慢。在循环进入列表/字典之前加载您的图像。

标签: python python-2.7 pygame


【解决方案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))

【讨论】:

  • 这是完美的。当我学习新东西时喜欢它。谢谢@0sh
【解决方案2】:

喜欢这样吗?

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

距离是你需要的右边的距离

这种方式是最好的,因为您可以通过添加数组的值来更改每次循环重复时移动图像的量! (例如:如果您需要不同的距离或有不同大小的图像)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 2020-06-17
    • 2016-10-12
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多