Pygame 库 - 精灵未在屏幕上正确呈现

Pygame library - Sprites aren't rendering properly on the screen

当我在基于 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()

我一直在 Python 2.7.11 和 Mac OS X 上的 3.4.2 上做我的项目并遇到了这个问题。但是当我在 Python 3.1 Windows 上测试它时,问题没有出现,精灵加载正常。所以我认为这是关于 Mac OS X.

您在 El Capitan (OS X 10.11) 上吗?如果是这样,您会在 OS X 的那个版本的 SDL_image 中看到一个已知错误。有关详细信息和可能的解决方法,请参阅此 link:

https://bitbucket.org/pygame/pygame/issues/284/max-osx-el-capitan-using-the-deprecated