文件不是Windows BMP文件

时间:2014-06-06 17:41:55

标签: eclipse macos python-2.7 pygame pydev

我目前正在使用Python 2.7.7和Pygame编写游戏。我在运行OS X 10.9的Mac上,我正在使用Eclipse和PyDev插件。在游戏中,我正在为游戏的背景加载PNG文件。但是,每当我尝试时,它都会检测到该文件,但它会给出错误“pygame.error:File不是Windows BMP文件”。每当我使用Pygame之前我能够加载PNG文件就好了。我也尝试将图像导出为JPG但得到了同样的错误。请注意,我知道有类似的问题,但是,大多数这些解决方案仅适用于Windows。我已经尝试运行“更新Shell配置文件”命令,如此问题所示:pygame.error: File is not a Windows BMP file,但这也不起作用。感谢您的时间。这是我的代码:

import sys, pygame

def main():
    HEIGHT = 500
    WIDTH = 500

    window = pygame.display.set_mode((HEIGHT,WIDTH))
    pygame.display.set_caption("Asteroids")

    background = pygame.image.load("images/background.png")

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()

        window.blit(background,(0,0))

        pygame.display.update()

if __name__ == "__main__":
    main()

2 个答案:

答案 0 :(得分:0)

我不在Mac上,但我有两个想法:

首先:我看到没有pygame.init(),我学到的应该总是先到。 第二:你可以尝试:

background = pygame.image.load("images/background.jpg").convert()

这个转换()过去让我有些头疼。 希望这有点帮助。

答案 1 :(得分:0)

我在Mac上并且几天前遇到了同样的问题。 问题是

  1. 你应该让pygame.image.get_extended()返回1.所以你可能需要一些像PIL这样的图像库

  2. 你的pygame可能已损坏,所以你最好重新安装pygame。在OSX中,只需找到你的python的site-packages的路径并删除pygame文件夹。并通过home-brew或网站重新安装pygame。至于我,我的网站包的路径是/Library/Python/2.7/site-packages

  3. 完成上述两点后,我成功地使用png图像运行pygame。