2015-05-12 44 views
0

我最初尝试沿着这些路线的东西:故障使用pygame的函数pygame.image.load()

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

*会[]工作更好吗?*那么,你应该尝试告诉我们! – TobiMcNamobi

+0

应该没有任何区别。这只意味着该文件可能不存在,或者至少不在同一个文件夹中。 –

+0

这是在一个diffirent文件夹,但我把目录。像 img = pygame.image.load('imageFolder \\ flum.png') –

回答

0

从上面的代码中你还没有初始化pygame。此外,错误下面的代码行应该看起来像这样:

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

你还应该把str()放在Img变量的周围。像这样:

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") 
+0

已初始化pygame,忘记说在示例snip中。真正的代码真的很大,我不想粘贴它们。你建议的格式虽然工作,所以谢谢。 –

+0

很高兴帮助:) –