Pygame 加载图像
我正在尝试用pygame制作一个棋盘游戏,目前我已经写好了加载棋盘图像的代码,可以把它显示在屏幕上。不过,在用pygame打开这个图像时遇到了一些困难。如果你感兴趣的话,这是我想加载的图像的路径:/home/kody/Coding/Python/Test/MonopolyPygame/MonopolyLib/board.bmp
我有一个叫做IMAGE的类,用来加载这个图像,里面有一个初始化的方法。
class IMAGE
__init__(self):
self.self.board = pygame.image.load("board.bmp")
IMAGE()
如果我单独运行这个小程序,它运行得很好,但当我和我的Main
类一起运行时,就出现了问题。
我把main.py放在一个叫做BoardPygame的文件夹里,然后在这个文件夹里还有一个叫做BoardLib的文件夹。在BoardLib文件夹里,我有一个叫init.py的python文件,这样就把BoardLib变成了一个库。然后我还有另一个python文件叫做images.py,这个文件里只包含了IMAGE
这个类,同时在这个文件里还有一个bmp格式的图像,叫做board.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
有没有什么原因可能导致这个问题出现呢?
谢谢
1 个回答
1
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
希望这能帮到你。