微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pygame - 在按键时更改图像文件夹中的图像

如何解决Pygame - 在按键时更改图像文件夹中的图像

这是我迄今为止尝试过的代码

filesList = [x for x in os.listdir(".\\images")]
fileNames = [x.split(".")[0] for x in os.listdir(".\\images")]
itemsDict = {k: v for k,v in zip(filesList,fileNames)}
itemList = list(itemsDict.keys())
shuffle(itemList)

for item in itemList:
     image = pygame.image.load(item)

    #Game Loop 
    running = True
    while running:
        # Background Image
        screen.blit(background,(0,0))
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit(0)
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_SPACE:
                    running = False  

每次我打破游戏循环加载下一张图片时。而且我不想在 Class(sprite) 中使用 random.choice 或选择,基于按键更新图像(以避免重复图像)。

寻找解决方案,例如在不中断循环的情况下,让精灵类在按键时从文件夹中一个一个地更新图像(如果 event.key == pygame.K_SPACE :)

解决方法

我认为您不应该在 foreach 循环中运行多个 while 循环,而是创建一个图像对象,您可以在其中保存当前图像,然后在按键时将该图像更改为下一个图像。

要获得下一张图像,您可以使用一些索引变量并将其计数

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。