我正在开发一款坦克游戏作为学校项目,我正在努力使其尽可能用户友好(使用可自定义的键绑定、显示设置等)。但是,我不希望游戏窗口失去其比例,因此我想在游戏窗口的两侧添加边框以支持宽屏幕。
我附上了一张图片来说明我正在寻找的内容:
因此,为了使其发挥作用,我需要一种制作“屏幕层”的方法。基础层是整个屏幕,侧面添加了一些图形以及显示乐谱的字体。然后在屏幕中间渲染第二层,即游戏窗口,其宽度和高度将明显小于基础层。
目前,游戏从屏幕的左上角开始渲染,直到所有图块都被渲染出来。因此,我认为最好将图块渲染在位于屏幕表面中间的单独表面上。
非常感谢一些关于如何使这成为可能的提示!:) 我在类和 pygame 方面没有太多经验,所以如果您也能给出充实的描述,那就太棒了!:D
只需在不同的表面上绘制不同的东西即可。
例如,Surface为您的游戏窗口创建一个(让我们称之为),并在该新窗口而不是 pygame 主窗口(这只是另一个)game_surf上绘制坦克和子弹等。SurfaceSurface
# the main window
screen = pygame.display.init()
# just a regular surface
game_surf = pygame.surface.Surface(width, height)
...
# in your main loop
# or however you draw your sprites
your_sprite_group.draw(game_surf)
Run Code Online (Sandbox Code Playgroud)
然后将其传输到屏幕上
screen.blit(game_surf, the_position)
Run Code Online (Sandbox Code Playgroud)