《Python和Pygame游戏开发指南》——2.9 Surface对象和窗口

简介:

本节书摘来自异步社区《Python和Pygame游戏开发指南》一书中的第2章,第2.9节,作者[美]Al Sweigart(斯维加特), 李强 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.9 Surface对象和窗口

Surface对象是表示一个矩形的2D图像的对象。可以通过调用Pygame绘制函数,来改变Surface对象的像素,然后再显示到屏幕上。窗口的边框、标题栏和按钮并不是Surface对象的一部分。

特别是pygame.display.set_mode()返回的Surface对象叫作显示Surface(display Surface)。绘制到显示Surface对象上的任何内容,当调用pygame.display.update()函数的时候,都会显示到窗口上。在一个Surface对象上绘制(该对象只存在于计算机内存之中),比把一个Surface对象绘制到计算机屏幕上要快很多。这是因为修改计算机内存比修改显示器上的像素要快很多。

程序经常要把几个不同的内容绘制到一个Surface对象中。在游戏循环的本次迭代中,一旦将一个Surface对象上的所有内容都绘制到了显示Surface对象上(这叫作一帧,就像是暂停的DVD上的一幅静止的画面),这个显示Surface对象就会绘制到屏幕上。计算机可以很快地绘制帧,并且我们的程序通常会每秒运行30帧,即30 FPS。这叫作帧速率(frame rate),我们将在本章后面介绍它。

本章后面的第2.14节和2.19节将会介绍在Surface对象上绘制。

相关文章
|
1月前
|
存储 缓存 Java
深度解密 Python 虚拟机的执行环境:栈帧对象
深度解密 Python 虚拟机的执行环境:栈帧对象
60 13
|
1月前
|
索引 Python
Python 对象的行为是怎么区分的?
Python 对象的行为是怎么区分的?
22 3
|
1月前
|
存储 缓存 算法
详解 PyTypeObject,Python 类型对象的载体
详解 PyTypeObject,Python 类型对象的载体
28 3
|
1月前
|
Python
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
17 1
|
1月前
|
缓存 Java 程序员
一个 Python 对象会在何时被销毁?
一个 Python 对象会在何时被销毁?
33 2
|
1月前
|
API Python 容器
再探泛型 API,感受 Python 对象的设计哲学
再探泛型 API,感受 Python 对象的设计哲学
20 2
|
1月前
|
API Python
当调用一个 Python 对象时,背后都经历了哪些过程?
当调用一个 Python 对象时,背后都经历了哪些过程?
22 2
|
1月前
|
存储 API C语言
当创建一个 Python 对象时,背后都经历了哪些过程?
当创建一个 Python 对象时,背后都经历了哪些过程?
18 2
|
1月前
|
存储 Python 容器
Python 对象有哪几种,我们可以从哪些角度进行分类呢?
Python 对象有哪几种,我们可以从哪些角度进行分类呢?
15 1
|
1月前
|
数据采集 前端开发 Python
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
68 0