Загрузка изображений в pygame вызывает "pygame.error" - PullRequest
0 голосов
/ 18 февраля 2012

Всякий раз, когда я пытаюсь запустить мою программу pygame, в которой я пытаюсь загрузить некоторые изображения, я всегда получаю простой "pygame.error" и ничего больше.

Я импортировал pygame так же, как pygame.locals. Сначала я подумал, что это потому, что он не может найти мои файлы, но всякий раз, когда я изменяю имя файла на что-то неправильное, он говорит «не удается открыть изображение», поэтому я предполагаю, что он действительно находит файл, но не удается при попытке загрузить его , функция startup () - это первое, что запускается из main. и я также попытался сделать простой grass = pygame.image.load ('grass.png') с файлом grass.png в том же каталоге, что и файл python

благодарен за всю помощь, которую я могу получить

..... строка 41, при запуске roundingsdict = {'gräs': pygame.image.load (os.path.join ('images', 'grass.png')). convert_alpha (), pygame.error

def startup():
    pygame.init()
    p1=Player.Player(int(random.random()*mapstorlek),int(random.random()*mapstorlek))
    vh=ViewHandler.ViewHandler()
    surroundingssdict = {'grass': pygame.image.load(os.path.join('images','grass.png')).convert(),
          'mount': pygame.image.load(os.path.join('images', 'mount.png').convert)()}
    playerdict={'p1': pygame.image.load(os.path.join('images','player.png')).convert()}

1 Ответ

0 голосов
/ 18 февраля 2012

pygame.error обычно сопровождается сообщением с более подробной информацией о том, что пошло не так, например, «не удалось открыть изображение», которое вы получаете при попытке создать несуществующее изображение.Вы уверены, что не получаете больше информации?Не могу быть уверен, что не так, но я выброшу два предложения:

Вы звоните pygame.display.set_mode, чтобы установить поверхность дисплея перед загрузкой изображений?Возможно, вы делаете это в своем классе ViewHandler, но если нет, то convert() не удастся, поскольку он изменяет формат пикселя поверхности в соответствии с отображением, что, конечно, не может быть выполнено, если нет активного отображения.

Другая возможность заключается в том, что у вас нет полной поддержки изображений в Pygame и вы не можете загрузить .png.Вы пробовали загружать другие форматы?Попробуйте позвонить pygame.image.get_extended(), чтобы узнать, построена ли ваша pygame с расширенной поддержкой изображений.Даже если он возвращает True, нет гарантии, что вы можете загрузить .png, но, по крайней мере, это скорее всего что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...