当我在基于pygame的游戏中使用精灵时,他们似乎无法正常工作 - 正如您在屏幕截图中看到的那样,他们没有正确的形状并且有一些奇怪的失真在上半部分。
Black squares have distortions on the top; sprite in the centre must be something like arrow-shaped.
加载图片所涉及的一段代码(从pygame的教程中复制):
def load_image(name, colorkey=None):
fullname = os.path.join('data', 'images')
fullname = os.path.join(fullname, name)
try:
image = pygame.image.load(fullname)
except pygame.error as message:
print('Cannot load image:', fullname)
raise SystemExit(message)
image = image.convert()
if colorkey is not None:
if colorkey is -1:
colorkey = image.get_at((0,0))
image.set_colorkey(colorkey, RLEACCEL)
return image, image.get_rect()
我在Mac OS X上使用Python 2.7.11和3.4.2进行了我的项目并得到了这个问题。但是当我在Windows上的Python 3.1上测试它时,问题并没有显示出来,精灵正常加载。所以我认为它与Mac OS X有关。
答案 0 :(得分:1)
你是El Capitan(OS X 10.11)吗?如果是这样,您在该版本的OS X上看到SDL_image中的已知错误。有关详细信息和可能的解决方法,请参阅此链接:
https://bitbucket.org/pygame/pygame/issues/284/max-osx-el-capitan-using-the-deprecated