python - Pygame 加载图像

标签 python image python-3.x pygame

所以我正在做的是尝试在 pygame 中创建一个棋盘游戏,到目前为止我所拥有的是加载棋盘图像以绘制到屏幕上的代码但是我在打开时遇到了一些困难通过pygame的图像。如果您很好奇,这就是我要加载的图像的路径。 /home/kody/Coding/Python/Test/MonopolyPygame/MonopolyLib/board.bmp

所以我有一个用于加载名为 IMAGE 的图像的类,其中有一个 init 方法。

class IMAGE
    __init__(self):
    self.self.board = pygame.image.load("board.bmp")
IMAGE()

如果我只是单独运行这个小程序,它运行良好,但是当我用我的 Main 类运行它时,它似乎失败了。

所以我将 main.py 放在一个名为 BoardPygame 的文件夹中。然后我在 BoardPygame 中有一个名为 BoardLib 的文件夹。在文件 BoardLib 中,我有一个名为 init.py 的 python 文件,使 BoardLib 成为一个库,然后我有另一个名为 images .py 的 python 文件,它只包含类 IMAGE,在这个文件中我还有一个名为 board.bmp 的 bmp

在我的文件 main.py 中,我有一个名为 Main 的类。然后我可以通过这种方式访问​​ images.py 以加载图像,或者至少尝试这样做。

import BoardLib
from BoardLib import *

class Main:
    def __init__(self):
        self.Images = images.IMAGE()

然而,每当我只使用 main.py 文件运行程序时,它总是会出现错误

File "/home/kody/Coding/Python/Test/MonopolyPygame/MonopolyLib/images.py", line 8, in __init__
self.board = pygame.image.load("board.bmp")
pygame.error: Couldn't open board.bmp

为什么会出现这个问题?

谢谢

最佳答案

class IMAGE
    __init__(self):
    self.self.board = pygame.image.load("board.bmp")
IMAGE()

在这段代码中尝试移除双重 self ,像这样

class IMAGE
    __init__(self):
    self.board = pygame.image.load("board.bmp")
IMAGE()

而且,在主要方面,试试这个:

import BoardLib
from BoardLib import *

class Main:
    def __init__(self):
        self.Images = IMAGE().board

希望这对您有所帮助。

关于python - Pygame 加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22776022/

相关文章:

python - 如何从 Python 中具有不同长度的列表列表创建数据框?

java - JLayeredPane 重绘删除了一些图像

python - 仅针对图像的特定点计算相邻像素的平均像素强度,并将其存储在n维数组中

iphone - 如何在 objective-c 的 View 中加载两个图像?

python - 尝试将 pandas 数据框保存到现有 Excel 工作表时出现 AttributeError

python - 为什么下面的代码表现得如此奇怪? Python3.5 与 Python3.6

python - 最重要的特征 高斯朴素贝叶斯分类器 python sklearn

python - 以不同的顺序检索多个捕获组?

python - unittest 测试用例中的重复代码

java - 我不明白paintComponent在Java中是如何工作的