How to blit a random image from a list Pygame
我想从其他图像的列表中随机选择一个图像,并将其快速删除。这是迄今为止我所拥有的一个例子。
1 2 3 4 5 6 7 8 9 10
| Q1 = pygame.image.load("Math/Q1.jpg").convert()
math_list.append(Q1)
Q2 = pygame.image.load("Math/Q2.jpg").convert()
math_list.append(Q2)
Q3 = pygame.image.load("Math/Q3.jpg").convert()
math_list.append(Q3)
Q4 = pygame.image.load("Math/Q4.jpg").convert()
math_list.append(Q4)
Q5 = pygame.image.load("Math/Q5.jpg").convert()
math_list.append(Q5) |
这些是我附加到列表math_list中的变量。我现在应该如何随机选择一个图像,在坐标(200, 0上)上快速切换,然后确保不再打开该图像。这和其他的不一样,因为它不完全聚焦在图片上。并且不显示在迭代它们之后如何移除任何帮助都非常感谢。谢谢)
- @琼格,这不是我编辑和解释过的复制品:)
- 您对列表数据所做的操作是完全不相关的——标签pygame也是如此。问题是一样的。
你必须先用import random。要选择您的图像,请执行image = math_list.pop(random.randint(0,len(math_list)-1))。randint用于从0到4中选择一个随机数,每个随机数对应于列表中的一个项目。pop删除该项并返回image。
- 这样做时,我得到以下错误:image = math_list.pop(random.randint(0,4)) IndexError: pop index out of range@pydude
- @阿森罗夫看我的编辑。
- 代码对列表单元中的每一个图像进行迭代和blits,然后给出一个错误。
- @Ahsenrauf在随机图像选择器之前使用if len(math_list)>1: ,并缩进该行。
- 它修复了错误问题,但我只希望一次显示一个图像。目前,它连续地将每一个图像都快速移动,直到完成@pydude
- @我已经解决了你的问题。如果你一次想要一个,你应该发布另一个问题。如果我的回答对你的问题有帮助,请接受我的回答(在投票箭头下打勾)。
- 好吧,伙计。非常感谢您的帮助:)@pydude
- @当列表为空时,会出现一个错误。这完全符合你的要求。然后确保我不会再打开那张图片。