2011-09-11 71 views
1

有没有什么办法可以在Pygame中创建多个屏幕,而不必每次都重新绘制到屏幕上。例如,如果我们想创建一个启动画面,然后是一个带有按钮的主菜单。点击'开始游戏'按钮,它会进入一个新的屏幕,这是真正的游戏。我的意思是类似于Visual Studio上的'Form'或Android上的Activites。在pygame中创建多个屏幕

回答

9

取决于你的意思。

如果您的意思是同时创建多个窗口,您不能这样做 - 这是SDL的限制(尽管您可以使用多处理(而不是多线程)来伪造它)。

如果你的意思是改变一个屏幕,是的,你可以做到这一点,多次调用pygame.display.set_mode(...)。你可以改变分辨率,参数等等。如果你正在做OpenGL的东西,那也会改变上下文。

如果你只是指将不同的东西绘制到同一个窗口当然!这是PyGame的重点。

除此之外,你必须澄清。

0

只需用白色填充屏幕,然后将第二个屏幕绘制到主屏幕上即可。然后当你需要另一个屏幕时,只需用黑色填充屏幕,然后继续。如果你的两个屏幕都是一个功能,并且你使用了像Tab这样的按键来在屏幕之间“切换”,这将会有所帮助。