2015-12-14 3 views
0

Когда я использую спрайты в своей игре на основе pygame, они, похоже, не работают должным образом - как вы можете видеть на скриншоте, у них нет права формы и имеют некоторые странные искажения в верхней части.Pygame library - Спрайты не отображаются должным образом на экране

Black squares have distortions on the top; sprite in the centre must be something like arrow-shaped.

Кусок кода участвует в загрузке изображений (copypasted прямо из учебников 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 и 3.4.2 на Mac OS X и получил эту проблему. Но когда я тестировал его на Python 3.1 в Windows, проблема не отображалась, и спрайты загружались нормально. Поэтому я думаю, что это что-то о Mac OS X.

+0

возможно использовать различный формат изображения GIF, BMP, JPG, PNG – furas

+0

Нет , использование разных форматов не поможет. – Verloren

ответ

1

Вы на Эль Капитане (OS X 10.11)? Если да, то вы видите известную ошибку в SDL_image на этой версии OS X. Смотрите эту ссылку для подробностей и возможный обходной путь:

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

+0

Большое спасибо, ваша ссылка помогла. Таким образом, решение понижается с SDL 1.2.12 до 1.2.10. – Verloren

Смежные вопросы