《Python和Pygame游戏开发指南》——2.3 建立一个Pygame程序
本节书摘来自异步社区《Python和Pygame游戏开发指南》一书中的第2章,第2.3节,作者[美]Al Sweigart(斯维加特), 李强 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.3 建立一个Pygame程序Hello World的前几行,几乎在你使用Pygame编写的每一个程序中都会用作开头的几行。
第1行是一条简单的import语句,它导入pygame和sys模块,以便我们可以在程序中使用这些模块中的函数。Pygame所提供的所有那些处理图形、声音以及其他功能的Pygame函数,都位于pygame模块中。
当导入pygame模块的时候要注意,你也会自动地导入位于pygame模块之中的所有模块,如pygame.images和pygame.mixer.music。不需要再用其他的import语句来导入这些位于该模块之中的模块。
第2行也是一条import语句。然而,它使用了from modulename import 的格式,而不是import modulename的格式。通常,如果你想要调用模块中的一个函数,必须在导入该模块之后,使用modulename.functionname()的格式。然而,通过使用from modulename import ,你可以省略掉modulename.部分,而直接使用functionname()来调用(就像是调用Python的内建函数一样)。
针对pygame.locals使用这种形式的import语句,是因为pygame.locals包含了几个常量变量,它们前面不需要pygame.locals,也可以很容易地识别出是pygame.locals模块中的变量。对于所有其他的模块,通常会使用常规的import modulename格式(http://invpy.com/namespaces 更为详细地介绍我们想要这么做的原因)。
第4行是pygame.init()函数调用,在导入了pygame之后并且在调用任何其他的Pygame函数之前,总是需要调用该函数。现在不需要知道这个函数到底做些什么,只需要知道,要让众多的Pygame函数能够工作,我们需要先调用这个函数。如果你看到诸如pygame.error: font not initialized的一个错误,检查看看是否在程序的开始处忘记调用pygame.init()了。
第5行调用了pygame.display.set_mode()函数,它返回了用于该窗口的pygame. Surface对象(本章后面将会介绍Surface对象)。注意,我们给该函数传入了两个整数的一个元组值:(400, 300)。这个元组告诉set_mode()函数创建一个宽度和高度分别为多少个像素的窗口。(400, 300)将会创建一个宽400像素、高300像素的窗口。
记住给set_mode()传递两个整数的一个元组,而不是两个整数自身。调用该函数的正确方式是这样的: pygame.display.set_mode((400, 300))。诸如pygame.display. set_mode (400, 300)的一个函数调用,将会导致TypeError: argument 1 must be 2-item sequence, not int这样的一个错误。
返回的pygame.Surface对象(为了简便起见,我们将其称为Surface对象),存储在一个名为DISPLAYSURF的变量中。
第6行通过调用pygame.display.set_caption()函数,设置了将要在窗口的顶部显示的标题文本。在这个函数调用中,传入了字符串值Hello World!,以使得该文本作为标题出现,如图2-2所示。
Python切换代理开发指南 在这本开发指南中,您将了解到如何使用requests库设置一个代理、使用Scrapy隧道代理中间件、使用2808Proxy隧道代理,2808Proxy可以申请14天的试用时间。 代理是一个中间服务器,它隐藏了您的IP,因此您可以匿名和安全地浏览网页。它有许多非常有趣的实用案例,最常见的是定价情报的网络抓取、SEO监控、市场研究的数据收集等。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- Python神器可以拯救小学数学题不会做
- Eclipse Kepler SR2 + Python 3.4 + JDK7+Pydev3.4 搭建 python 开发环境(MAC)
- 零基础教你快速入门Python怎么学python入门?python新手学习路线
- Python初学者如何系统的学习python————Python入门学习指南--内附学习路径
- 掌握Python语言能做什么?python对小白友好吗?
- 如何快速学习python,学好python?能通过Python赚到的第一笔钱,有哪些经验可以分享吗?
- python能做什么软件?Python到底能干嘛,一文看懂
- 零基础自学Python需要多长时间从入门到精通?学python能兼职挣钱吗?怎么挣钱?
- 使用 Python 和 Asyncio 编写在线多人游戏(一)
- gyp ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- 【python】+704个常用工具Python库
- 《Python和Pygame游戏开发指南》——1.5 Ubuntu和Linux上的安装说明
- 《Python和Pygame游戏开发指南》——2.7 像素坐标
- 《Python和Pygame游戏开发指南》——2.8 关于函数、方法、构造函数和模块中的函数(及其差别)的一些提示
- 《Python和Pygame游戏开发指南》——2.10 颜色
- 《Python和Pygame游戏开发指南》——2.18 帧速率和pygame.time.Clock对象
- 《Python和Pygame游戏开发指南》——2.21 抗锯齿
- Python 3.2: 使用pymysql连接Mysql
- Python-02:分支、循环、函数
- 小学生python游戏编程arcade----坦克大战3
- 小学生python游戏编程arcade----基本知识3