2015-05-12 2 views
0

я сначала пытался что-то вдоль этих линий:Проблема с использованием функции pygame.image.load 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

* Будет ли [..] работать лучше? * Ну, вы должны попробовать и рассказать нам! – TobiMcNamobi

+0

Не должно быть никакой разницы. Это означает, что файл, вероятно, не существует или, по крайней мере, не находится в одной папке. –

+0

Он находится в папке diffirent, но я помещаю каталог. Как img = pygame.image.load ('imageFolder \\ flum.png') –

ответ

0

Из приведенного выше кода вы не инициализировали pygame. также строка кода ниже ошибки должен выглядеть следующим образом:

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

вы должны также положить ул() вокруг переменной 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

рад, что это помогло :) –

Смежные вопросы