麻烦使用Pygame的函数pygame.image.load()

时间:2015-05-12 17:17:51

标签: python pygame

我最初尝试过以下几点:

import pygame
img = ''
if state == 'state 1':
    img = 'flum.png'
else:
    img = 'flab.png'

flooimage = pygame.image.load(img)

但最后一行,flooimage = pygame.image.load(img),抛出错误说

pygame.error: SDL_RWFromFile(): No file or no mode specified

我尝试将最后一行更改为

flooimage = pygame.image.load(img, ".png")

但它也犯了同样的错误。有谁知道我怎么可能让这个运行?

的意思
if state == 'state 1':
    img = pygame.image.load('flum.png')
[...]
flooimage = img

工作得更好?

1 个答案:

答案 0 :(得分:0)

从上面的代码中你没有初始化pygame。错误下面的代码行应如下所示:

  flooimage = pygame.image.load(img + ".png")

你还应该在Img变量周围加上str()。像这样:

flooimage = pygame.image.load(str(img) + ".png")

我不确定你的程序会做什么,但你应该将所有图像加载到一个数组中,这样可以很容易地使用它们。

IntAllScreens = [{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]
            for IntAS in range (0,len(self.IntAllScreens)):
                    for IntT in range(0,100):
                                self.IntAllScreens [IntAS][IntT] = pygame.image.load( "Textures\\" + str(Img) + ".png")