私のコードでは小さな問題があります。私は、次の形式であるからロードしています奇妙なpygameイメージエラー
import os,pygame
class npc:
ntype = 0
image = None
x = 0
y = 0
text = ""
name = ""
def Draw(self,screen):
screen.blit(self.image, [self.x*32,self.y*32])
def __init__(self,name,nx,ny):
f = open(name)
z = 0
for line in f:
if z == 0:
name = line
if z == 1:
ntype = line
if z == 2:
text = line
if z == 3:
self.image = pygame.image.load(os.path.join('img', line))
self.x = nx
self.y = ny
z=z+1
ファイル:
The Shadow
0
Hello. I am evil.
shadow.png
それは問題を抱えている最後の行である私は、次のコードを持っています。私がpygame.image.loadを使ってそのpngをロードしようとすると、そのイメージを読み込むことができないというエラーが出ます。しかし、私がPygameロードコードをself.image = pygame.image.load(os.path.join('img', "shadow.png"))
に変更すると、それは完全に機能します。私はファイルを何回か見てきましたが、私はこのエラーの理由を見つけることができません。誰かが私が間違っていることを見ることができますか?
トレースバック:
Traceback (most recent call last):
File "./main.py", line 26, in <module>
rmap = g.Load_Map("l1.txt",char)
File "/home/josiah/python/rpg/generate.py", line 31, in Load_Map
npcs.append(npc.npc(str.split(bx,',')[1],x,y))
File "/home/josiah/python/rpg/npc.py", line 23, in __init__
self.image = pygame.image.load(os.path.join('img', line))
pygame.error: Couldn't open img/shadow.png
は、なぜあなたはのようなものは使用しないでください: を '[名前を、ntype、text、self.image] = f.read()。split( '\ n') ' – joaquin