博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Python和Pygame游戏开发指南》——2.3 建立一个Pygame程序
阅读量:6801 次
发布时间:2019-06-26

本文共 1544 字,大约阅读时间需要 5 分钟。

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

2.3 建立一个Pygame程序

Hello World的前几行,几乎在你使用Pygame编写的每一个程序中都会用作开头的几行。

screenshot

第1行是一条简单的import语句,它导入pygame和sys模块,以便我们可以在程序中使用这些模块中的函数。Pygame所提供的所有那些处理图形、声音以及其他功能的Pygame函数,都位于pygame模块中。

当导入pygame模块的时候要注意,你也会自动地导入位于pygame模块之中的所有模块,如pygame.images和pygame.mixer.music。不需要再用其他的import语句来导入这些位于该模块之中的模块。

screenshot

第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格式( 更为详细地介绍我们想要这么做的原因)。

screenshot

第4行是pygame.init()函数调用,在导入了pygame之后并且在调用任何其他的Pygame函数之前,总是需要调用该函数。现在不需要知道这个函数到底做些什么,只需要知道,要让众多的Pygame函数能够工作,我们需要先调用这个函数。如果你看到诸如pygame.error: font not initialized的一个错误,检查看看是否在程序的开始处忘记调用pygame.init()了。

screenshot

第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的变量中。

screenshot

第6行通过调用pygame.display.set_caption()函数,设置了将要在窗口的顶部显示的标题文本。在这个函数调用中,传入了字符串值'Hello World!',以使得该文本作为标题出现,如图2-2所示。

screenshot

转载地址:http://jdfwl.baihongyu.com/

你可能感兴趣的文章
真正的持续集成:分布式代码仓库和依赖
查看>>
KDD论文解读 | 想要双11抢单快?靠这个技术提速9MS
查看>>
Asp.net与Flex交互测试记录
查看>>
两招抵御APT攻击
查看>>
教师节有“假期” 网络电话传递温情祝福
查看>>
中天携手协鑫集成共拓光伏市场
查看>>
云存储与视频监控协力合作 平安城市再提速
查看>>
Windows环境搭建Web自动化测试框架Watir
查看>>
再等两年 英特尔能否重回摩尔定律?
查看>>
智慧城市建设 这五个方面不可不考虑
查看>>
Qt之镜像旋转
查看>>
《Cinema 4D + After Effects动态图形设计案例解析》——第 1 章 动态图形设计概述 1.1 什么是动态图形...
查看>>
WordPress REST API 内容注入/权限提升漏洞
查看>>
深圳网站建设公司|网站文章不收录的四大决定性因素|卓炎科技
查看>>
《实施Cisco统一通信管理器(CIPT1)》一第2章 部署模型
查看>>
《SolidWorks 2013中文版完全自学手册》——2.4 尺寸标注
查看>>
《Adobe Photoshop CS4中文版经典教程》—第1课1.4节在Photoshop中还原操作
查看>>
《IPv6精髓(第2版)》——3.8 链路本地地址和站点本地地址
查看>>
《深入浅出iPhone/iPad开发(第2版)》——使用GUI编辑器连接UI控制到代码
查看>>
【秒懂设计模式】总述及工厂模式
查看>>