本文主要是介绍surface和屏幕,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
surface和屏幕
pygame最重要的部分就是surface。我们可以把surface看作是一张白纸。你可以对surface作很多操作,比如在surface上画线、用某种颜色填充surface上的部分区域、把图片拷贝到surface上去,把图片从surface上复制下来、设置或者读取surface上某个点的颜色。一个surface可以是任何大小,一个游戏可以有任意多surface。其中有一个surface是特别的,就是用pygame.display.set_mode()创建的display surface。它代表了屏幕,对它的任何操作会出现在用户的屏幕上。一个游戏只能有一个这样的surface,这是SDL的限制。
怎样创建surface?刚才提到,用pygame.display.set_mode()可以创建特殊的display surface。此外,还可以用image.load()创建一个包含图片的surface,还可以用font.render()创建一个包含文字的surface。你甚至可以用Surface()创建一个不包含任何东西的surface。
surface的大部分方法都不重要,只要学习其中的blit(), fill(), set_at()和get_at()就够用了。
display surface的初始化操作是这样的:
screen = pygame.display.set_mode((1024, 768))
或者 screen = pygame.display.set_mode((1024, 768), pygame.FULLSCREEN)
你可以用set_mode把原来窗口的游戏变成全屏。其它的俄显式模式(可以用|连接)有
- DOUBLEBUF: 对于平滑的动画所必须
- OPENGL: 让你可以用PyOpenGL,但是不能用pygame的绘图函数
还有一个可选的depth参数,用来控制颜色显示的深度。一般情况下不用指定这个参数,只要用默认值就可以了。
如果使用DOUBLEBUF,你需要用flip函数来把绘制的内容显示到屏幕上。
>>> pygame.display.flip()
这篇关于surface和屏幕的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!