pygame.error: файл не является файлом Windows BMP на m1 Mac под управлением Mac os Monteray
Я осмотрелся, но не нашел никаких решений, которые работают.
Я просто изучаю pygame с помощью учебника: https://www.youtube.com/watch?v=jO6qQDNa2UY&list=WL&index=44&t=1379s
но когда я пытаюсь связать изображение, я получаю сообщение об ошибке: pygame.error: Файл не является файлом Windows BMP.
Я пробовал все, кроме повторной переустановки pygame (предыдущая проблема) или переустановки python.
Вот мой код
import pygame
import os
pygame.init()
WIDTH, HEIGHT = 900, 500
WIN = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("First Game")
WHITE = (255,255,255)
RED = (255,0,0)
FPS = 60
YELLOW_SPACESHIP_IMAGE = pygame.image.load(
os.path.join('Assets', 'spaceship_yellow.png')).convert()
RED_SPACESHIP_IMAGE = pygame.image.load(
os.path.join('Assets', 'spaceship_red.png')).convert()
def draw_window():
WIN.fill((RED))
WIN.blit(YELLOW_SPACESHIP_IMAGE, (300,100))
pygame.display.update()
def main():
clock = pygame.time.Clock()
run = True
while run:
clock.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
draw_window()
pygame.QUIT()
if __name__ == "__main__":
main()
3 ответа
Вы пытаетесь загрузить
spaceship_yellow.png
а также
spaceship_red.png
которые судя по расширениям не s, ваша ошибка
pygame.error: File is not a Windows BMP file
предполагают, что pygame ожидает файл. pygame.image docs говорит
Модуль изображения является обязательной зависимостью pygame, но он опционально поддерживает любые расширенные форматы файлов. По умолчанию он может загружать только несжатые изображения BMP. При создании с полной поддержкой изображений
pygame.image.load()
функция может поддерживать следующие форматы.
затем перечислите форматы, по-видимому, у вас нет полной поддержки изображений, я думаю, что самое простое решение - преобразовать
PNG
у вас есть несжатый
BMP
формат изображения.
Но как создать модуль изображения с полной поддержкой изображений?
Какой конкретный модуль изображения имеется в виду, PIL, Pillow,...?
Превращение изображения в BMP действительно работает, но я бы предпочел по-прежнему иметь полную функциональность pygame. То, что я сделал, чтобы наконец заставить его работать, было из ветки здесь . Я вставил это в терминал, чтобы он заработал:
python3 -m pip install git+https://github.com/nelsonlove/pygame.git