Android图像上的Python游戏不会填充屏幕大小

时间:2013-12-02 02:55:15

标签: android python pygame

我正在使用pygames for android来编写一个小游戏。 因此,我要求一个大小为960x540的屏幕:

screen = pygame.display.set_mode((WIDTH, HEIGHT))
background = pygame.image.load("floor.png").convert()
backgroundrect = background.get_rect()

并在主循环中绘制相同大小的背景图像:

screen.blit(background, backgroundrect)

在我的开发机器上,一切都是正确的,因为创建的窗口与请求的大小匹配。 当我在android上运行时得到的是我的背景图像,其中心是在具有不同宽高比的窗口中。这不会那么糟糕,但在没有图像应该绘制的空间中,我看到随机抽取的垃圾。我甚至可以事先用黑色填充背景,但仍然看到垃圾。

不知何故,背景图像的绘制还会吸引宽高比之外的空间?

此处还描述了错误:http://pygame.renpy.org/forum/viewtopic.php?f=4&t=624&p=4915#p4915,其中包含显示效果的视频。

1 个答案:

答案 0 :(得分:0)

我认为这是由错误的窗口大小引起的。 您应该查看pygame.display.Info(http://www.pygame.org/docs/ref/display.html#pygame.display.Info)以获得屏幕分辨率。

详情请见http://pygame.renpy.org/forum/viewtopic.php?f=4&t=92#p265

你很明显必须在blitting时考虑这个问题,因为PyGame窗口本身正在变得更大,而不是PyGame窗口被拉伸以适应更大的屏幕。