企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## Surface Objects(平面对象) 和窗口 Surface objects代表了一个巨型的2D图像,这个2D图像上的点可以通过pygame的drawing 函数来更改并展示到屏幕上。pygame上的大多数控件都是Surface objects。但是游戏的外边框、标题栏、按钮不是Surface objects。 ![](https://i.stack.imgur.com/KVfTi.png) 尤其是,`pygame.display.set_mode()`方法返回了整个游戏最重要的 display Surface 对象。在 `pygame.display.update() `被调用后, 所有画在display Surface 对象都会展示在窗口上。 一般情况下,我们会在游戏中画多个不同的Surface object,当我们在游戏主循环中把所有的对象设置完成之后,就可以调用`pygame.display.update() `方法来渲染整个页面了,这个叫游戏的一帧。我们的游戏一秒钟可以变化30帧(30FPS),这就是帧率。 ![](https://adatech-1256165843.cos.ap-chengdu.myqcloud.com/20181010224237.png) ## 颜色 我们知道,颜色是由红、绿、蓝三原色组成的。不同三原色的值混合在一起,就构成了不同的颜色。在pygame中(其他很多编程语言也一样),我们使用三个0~255整数值来代表每个原色的大小。0代表没有这个原色,255代表这个原色的最大值。三个数字的顺序代表了红、绿、蓝,这通常被成为RGB值。 由于我们可以将三个0~255点数字组合在一起代表一个颜色,pygame总共可以渲染出16,777,216(256x256x256)种颜色。比如, (0, 0, 0) 代表了黑色(类似于没有任何光进入),(255, 255, 255) 代表了白色(三种颜色的光都进入了)。(255, 0, 0)红、(0, 255, 0)绿、( 0, 0,255) 也是常用的颜色。 ![](https://www.gogoprint.sg/media/wysiwyg/RGB_1.png) ## 透明度 与我们平时画画的颜色不同,计算机里的颜色还可以设置一个透明度。透明度用来表示颜色在屏幕上渲染的百分比。255代表完全渲染,0代表不渲染。为了使用透明度,我们要对Surface object 调用一下`convert_alpha `方法: `anotherSurface = DISPLAYSURF.convert_alpha()` ## pygame的Color 对象 除了使用tuple表达一个颜色之外,我们还可以使用`pygame.Color`对象来表达一个颜色。color对象的构造方法也很简单,我们直接按如下调用即可:`myColor = pygame.Color(255, 0, 0, 128)` 下节课,我们讲学习怎么使用pygame绘图。 **阿达老师-孩子身边的编程专家** *完整课程请关注阿达老师,主页里有完整的课程目录和观看地址*