首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将当前的pygame表面转换为更大的表面?

如何将当前的pygame表面转换为更大的表面?
EN

Stack Overflow用户
提问于 2020-03-02 10:58:05
回答 1查看 53关注 0票数 3

最初,我正在创建一个具有维度宽度和高度的游戏界面

代码语言:javascript
复制
pygame.init()
SCREEN1 = pygame.display.set_mode((WIDTH,HEIGHT))
sprites = pygame.sprite.Group()
sprites.add( ..... #add sprite
...
...

sprites.draw(SCREEN)
SCREEN.blit("test", (WIDTH-4, HEIGHT-2))
pygame.display.flip()
clock.tick(FPS)

如何将SCREEN1转换为具有x2规模的SCREEN2?我知道有pygame.transform.scale,我尝试了以下方法,但不起作用。它只显示一个具有新维度的空窗口。

代码语言:javascript
复制
pygame.init()
SCREEN1 = pygame.display.set_mode((WIDTH,HEIGHT))
sprites = pygame.sprite.Group()
sprites.add( ..... #add sprite
...
...

sprites.draw(SCREEN)
SCREEN.blit("test", (WIDTH-4, HEIGHT-2))

SCREEN2=pygame.display.set_mode((WIDTH*2,HEIGHT*2))
pygame.transform.scale(SCREEN, (WIDTH*2,HEIGHT*2), SCREEN2)

pygame.display.flip()
clock.tick(FPS)

我可以知道做这件事的正确方法是什么吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-03-02 13:44:41

SCREEN是与窗口关联的显示pygame.Surface。当执行pygame.display.set_mode()时,将生成新的显示图面,并且先前显示图面中的日期将丢失。在生成新的显示曲面之前,创建曲面的副本(pygame.Surface.copy()):

代码语言:javascript
复制
old_screen = SCREEN.copy()

SCREEN2 = pygame.display.set_mode((WIDTH*2,HEIGHT*2))
pygame.transform.scale(old_screen, (WIDTH*2,HEIGHT*2), SCREEN2)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60481977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档