2015-05-12 46 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

很高興幫助:) –