Pygame不允许我打开图像

时间:2017-07-31 02:35:44

标签: python pygame

我目前正在关注Meloonatic Melons的youtube系列。我正在尝试为我的游戏牌创建纹理。 This is the video我正在观看。

我的代码吐出一条错误消息,指出pygame无法打开图像。我在网上查看并且大多数人都说确保图像文件在同一工作目录中,所以我将Python代码放在​​我存储图像的同一文件夹中。有些人还说要输入完整的文件路径,但这也会导致错误。

这是我的代码:

import pygame
import os
cwd = os.getcwd()

pygame.init()

class Tiles:

    Size = 32

    def  Load_Texture(file, Size):
        bitmap = pygame.image.load(file)
        bitmap = pygame.transform.scale(bitmap, (Size,Size))
        surface = pygame.Surface((Size,Size), pygame.HWSURFACE|pygame.SRCALPHA)
        surface.blit(bitmap, (0,0))
        return surface

    print(cwd)
    Grass = Load_Texture("graphics\\grass.png", Size)

这是吐出的错误:

Traceback (most recent call last):
  File "C:\Users\kylem\Desktop\First Python Game\scripts\textures.py", line 7, in <module>
    class Tiles:
  File "C:\Users\kylem\Desktop\First Python Game\scripts\textures.py", line 19, in Tiles
    Grass = Load_Texture("scripts\\grass.png", Size)
  File "C:\Users\kylem\Desktop\First Python Game\scripts\textures.py", line 12, in Load_Texture
    bitmap = pygame.image.load(file)
pygame.error: Couldn't open scripts\grass.png

我将图片和代码放在同一个文件夹中 如果我把完整的文件名如下:

Grass = Load_Texture("C:\Users\kylem\Desktop\First Python Game\scripts\grass.png", Size)

我弹出一个错误说:

the error pop up

2 个答案:

答案 0 :(得分:1)

我认为您的代码问题可能与您在引用文件时使用单个反斜杠这一事实有关。在python中使用单个反斜杠有时会导致不必要的错误,所以我建议您尝试这样做:

Grass = Load_Texture("C:/Users/kylem/Desktop/First Python Game/scripts/grass.png", Size)

如果这不起作用,那么我认为你的文件可能已损坏,在这种情况下你应该尝试重新加载它等等......

答案 1 :(得分:0)

我是您正在观看的视频的创作者!这是一个非常奇怪的错误,我确信我之前有过这个错误。我可以看到你已经尝试打印出当前工作目录以查看程序的运行位置。我没有看到你的程序有什么问题,所以我建议你尝试重新安装Python或Pygame。