Python 缩放Pygame显示屏上的所有内容

Python 缩放Pygame显示屏上的所有内容,python,python-3.x,pygame,rendering,Python,Python 3.x,Pygame,Rendering,所以我正在用pygame制作一个2D像素艺术游戏,你可以假设,我所有的精灵纹理看起来都很小。我想知道是否有一种方法可以在我的游戏中全局放大所有的东西,而不必单独放大每个精灵或者弄乱坐标。每个精灵都会在网格上移动:一个单位是16x16像素,例如,当我的播放器精灵移动时,它只会向16像素的方向移动 以下是我的主要剧本: 导入系统 从pygame.locals导入* 导入pygame 从game.sprites导入鬼魂 pygame.init 窗宽=640 窗户高度=640 DES_宽度=64 DES

所以我正在用pygame制作一个2D像素艺术游戏,你可以假设,我所有的精灵纹理看起来都很小。我想知道是否有一种方法可以在我的游戏中全局放大所有的东西,而不必单独放大每个精灵或者弄乱坐标。每个精灵都会在网格上移动:一个单位是16x16像素,例如,当我的播放器精灵移动时,它只会向16像素的方向移动

以下是我的主要剧本:

导入系统 从pygame.locals导入* 导入pygame 从game.sprites导入鬼魂 pygame.init 窗宽=640 窗户高度=640 DES_宽度=64 DES_高度=64 COL_BG=46,48,55 COL_FG=235、229、206 X=1000 Y=1000 win=pygame.display.set\u mode窗口宽度、窗口高度 pygame.display.set_字幕通过门 运行=真 暂停=错误 初始化精灵 玩家=幽灵 所有精灵=pygame.sprite.Group all_sprites.addplayer clock=pygame.time.clock 运行时: 时钟滴答滴答地响着 如果未暂停: 温·菲尔科卢BG 所有精灵更新 所有的精灵 对于pygame.event.get中的事件: 如果event.type==pygame.QUIT: 系统出口 keys=pygame.key.get_按下 如果键[pygame.K_RIGHT]: 玩家,向右走 elif keys[pygame.K_左]: 玩家,向左走 elif keys[pygame.K_UP]: 加油 elif keys[pygame.K_DOWN]: 球员,趴下 pygame.display.flip pygame.退出 我确实有更多的精灵我要加载,但我想解决缩放问题第一

我想知道是否有一种方法可以在我的游戏中全局扩展所有东西,而不必单独扩展每个精灵[…]

不,没有办法。必须分别缩放每个坐标、每个大小和每个曲面。PyGame以像素为单位为图像、表面和形状制作。无论如何,放大图像将导致模糊、模糊或锯齿状的雷管外观


有没有一种方法,我可以做一个单独的表面,把它放在基础窗口表面的顶部,然后缩放它

当然可以

创建一个要在win上绘制的曲面。使用或将其缩放到窗口大小,并将其缩放到实际的显示表面显示:

display\u win=pygame.display.set\u mode窗口宽度*2,窗口高度*2 win=pygame.SurfaceWidow\u宽度,窗口\u高度 运行时: [...] 如果未暂停: 温·菲尔科卢BG 所有精灵更新 所有的精灵 [...] scaled\u win=pygame.transform.smoothscalewin,显示\u win.get\u大小 或scaled\u win=pygame.transform.scalewin,显示\u win.get\u大小 显示\u win.blitscaled\u win,0,0 pygame.display.flip 最简单的例子:

我想知道是否有一种方法可以在我的游戏中全局扩展所有东西,而不必单独扩展每个精灵[…]

不,没有办法。必须分别缩放每个坐标、每个大小和每个曲面。PyGame以像素为单位为图像、表面和形状制作。无论如何,放大图像将导致模糊、模糊或锯齿状的雷管外观


有没有一种方法,我可以做一个单独的表面,把它放在基础窗口表面的顶部,然后缩放它

当然可以

创建一个要在win上绘制的曲面。使用或将其缩放到窗口大小,并将其缩放到实际的显示表面显示:

display\u win=pygame.display.set\u mode窗口宽度*2,窗口高度*2 win=pygame.SurfaceWidow\u宽度,窗口\u高度 运行时: [...] 如果未暂停: 温·菲尔科卢BG 所有精灵更新 所有的精灵 [...] scaled\u win=pygame.transform.smoothscalewin,显示\u win.get\u大小 或scaled\u win=pygame.transform.scalewin,显示\u win.get\u大小 显示\u win.blitscaled\u win,0,0 pygame.display.flip
最简单的例子:

我想知道是否有一种方法可以在游戏中全局扩展所有内容,而不必单独扩展每个精灵[…]-不,没有方法。必须分别缩放每个坐标、每个大小和每个曲面。PyGame以像素为单位为图像、表面和形状制作。无论如何,放大图像会导致模糊或锯齿状的雷管外观。请重复并从下一页开始。“演示如何解决此编码问题”不是堆栈溢出问题。我们希望您做出诚实的尝试,然后就您的算法或技术提出具体问题。发布一个大概20行的问题的整个程序是。。。不是正确的格式。有没有一种方法我可以制作一个单独的表面,然后把它放在基础窗口表面的顶部,然后缩放它?如果是,你能告诉我怎么做吗?我想知道是否有一种方法可以在我的游戏中全局扩展所有东西,而不必单独扩展每个精灵[…]-不,没有方法。您必须缩放每个坐标、每个大小和ea
分别对表面进行ch处理。PyGame以像素为单位为图像、表面和形状制作。无论如何,放大图像会导致模糊或锯齿状的雷管外观。请重复并从下一页开始。“演示如何解决此编码问题”不是堆栈溢出问题。我们希望您做出诚实的尝试,然后就您的算法或技术提出具体问题。发布一个大概20行的问题的整个程序是。。。不是正确的格式。有没有一种方法我可以制作一个单独的表面,然后把它放在基础窗口表面的顶部,然后缩放它?如果是,你能告诉我怎么做吗?