使用pygame

时间:2015-11-07 11:26:24

标签: python python-3.x pygame

尝试构建我的第一个pygame项目,并希望导入以下地图。使用过的图片:

enter image description here

我的代码是:

import pygame
pygame.init()
size = (1300, 700)
screen = pygame.display.set_mode(size)
pygame.display.set_caption("My Game")
done = False
clock = pygame.time.Clock()
map = pygame.image.load('map.jpg')
map = map.convert()
map = pygame.transform.scale(map, (466,700))
while not done:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = True
    screen.fill((255,255,255))
    screen.blit(map, (430, 0))
    pygame.display.flip()
    clock.tick(60)
pygame.quit()

,输出如下:

enter image description here

我也尝试将jpg转换为bmp,但结果仍然相同。我无法弄清楚是什么扭曲了图像,尝试使用其他图像,看起来输出的图像比原始图像略宽。我怀疑pygame只是读取错误的宽度,然后将像素放入具有该宽度的数组中。

任何有关解决这个问题的建议都会非常感激。

1 个答案:

答案 0 :(得分:2)

SDL_image(Pygame所基于的)中存在一个错误,它会破坏OS X 10.11中的图像。

https://bugzilla.libsdl.org/show_bug.cgi?id=3154

目前,唯一已知的解决方法是降级到SDL_image 1.2.10,但我无法确认。