我目前正在使用 python 2.7 和 pygame 1.9 制作游戏。我将我的图形存储在 中graphics.dat
,这只是一个重命名的 zip 文件。我用来将图形加载到游戏中的功能是这样的:
import pygame, zipfile, tarfile sys, os
from cStringIO import StringIO
from pygame.locals import *
def loadImage(filename, noAlpha=False):
baseZip = zipfile.ZipFile(os.path.join("..", "Data", "graphics.dat"))
imgData = baseZip.read(filename) #the "filename" argument is already os.path.join()'ed when I pass it to the function
imgDataIO = StringIO(imgData)
finalFileName = os.path.split(filename)
preSurf = pygame.image.load(imgDataIO, finalFileName[1])
if noAlpha:
resultSurf = preSurf.convert()
else:
resultSurf = preSurf.convert_alpha()
baseZip.close()
return resultSurf
在 linux (Ubuntu 12.04) 上它可以完美运行,但在 Windows 上它总是会引发错误
“存档中没有名为文件夹\\\\\\file.png 的项目”
(我现在不在 Windows 上,所以我无法复制确切的错误文本,但它有很多“\”)。
有解决办法吗?