Pygame 教程(1):创建第一个应用程序
本章,你将创建第一个 Pygame 应用程序。对于环境的配置,详见上一章。
导航
上一章:预备篇
下一章:重要的概念及对象
文章目录
- 导航
- 新建文件
- 导入模块
- 初始化 Pygame
- 设置窗口
- 事件循环
- 完整代码
- 结语
新建文件
新建一个文件,命名为first_app.py
。
导入模块
在新建的文件中添加如下代码:
import sysimport pygame
上述代码将导入 pygame 和 sys 模块,以便使用这些库中的函数。
初始化 Pygame
pygame.init()
以上的代码将初始化 Pygame 模块。
设置窗口
SCREEN = pygame.display.set_mode((1200, 800))
pygame.display.set_caption('First Application')
以上的代码,使用了 pygame.display
模块。这是一个很常用的模块,它用于控制显示屏幕及窗口,可以参照官方文档对此模块的解释。
pygame.display.set_mode
函数将初始化窗口,第一个参数需要传入一个元组,表示窗口的大小,其他参数,本章暂时不会用到,请参见官方文档的解释。
pygame.display.set_caption
函数传入一个字符串,表示窗口的标题。
注意:请确保pygame.display.set_mode
函数传入的是一个元组,而不是两个数,也就是不要漏了括号。
事件循环
事件循环,是 Pygame 以及大多数游戏框架中很重要的概念之一。在这个机制下,程序捕捉到的事件(event),诸如点击鼠标、按下键盘按键等,将依次添加到事件队列(event queue)中。
在 Pygame 中,游戏以循环的方式进行,每次循环,通常进行事件处理以及屏幕绘制。
本章中,游戏循环的代码如下:
while True:for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit()pygame.display.update()
首先,由while True
开始了游戏循环。
接下来,使用了pygame.event
模块中的get
函数。pygame.event
模块用于与事件及事件队列进行交互。pygame.event.get
函数将返回并清空事件队列中的所有事件,因此用for
循环进行遍历。每个事件都是一个pygame.event.Event
对象,该类定义了type
属性,当此属性为pygame.QUIT
时,代表用户点击了窗口标题栏中的“关闭”按钮,或其他退出的动作,触发了这个事件,此时将调用pygame.quit
及sys.exit
函数以安全关闭窗口并退出程序。
事件循环后,调用了pygame.display.update
函数,它将更新显示屏幕,即进行了屏幕重绘。
注意:
1. 请确保调用了sys.exit
函数,因为pygame.quit
函数只是取消初始化所有的 Pygame 模块,并不会退出程序;同时,也不要仅调用sys.exit
函数,尽管这在大多数情况下可以正常退出,但是没有正常地退出 Pygame 模块有可能会带来意想不到的后果。
2. 查阅官方文档,可以发现还有一个pygame.display.flip
函数,它的作用与pygame.display.update
函数一样,但是pygame.display.update
函数允许传入一个参数,可以重绘窗口的一部分,而不是重绘整个窗口。当然,不传参数的pygame.display.update
函数与pygame.display.flip
函数一模一样。详见官方文档解释。
完整代码
import sysimport pygamepygame.init()SCREEN = pygame.display.set_mode((1200, 800))
pygame.display.set_caption('First Application')while True:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()pygame.display.update()
代码运行截图:
结语
至此,我们的第一个用 Pygame 创建的应用程序就完成了。下一章,我们将学习 Pygame 模块中的重要的概念及对象。
Pygame 教程(1):创建第一个应用程序相关推荐
- [转]VS2010 教程:创建一个 WPF 应用程序 (第一节)
[转]VS2010 教程:创建一个 WPF 应用程序 (第一节) http://msdn.microsoft.com/zh-cn/ff629048(zh-cn) Extended WPF Toolki ...
- Eclipse中创建第一个窗口程序
之前在VS中用C#做程序开发时,做的最多的是Winform窗口.现在学习在Eclipse中用java编程序,也希望尽快学习如何写窗口程序,但是在选择Eclipse做开发工具的时候就听说Eclips ...
- VS2010 教程:创建一个 WPF 应用程序 (第一节)
来自:https://msdn.microsoft.com/zh-cn/library/ff629048.aspx [原文发表地址] VS2010 Tutorial: Build a WPF App ...
- BI之SSAS完整实战教程3 -- 创建第一个多维数据集
上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube). 文章提纲 使用多维数据集向导创建多维数据集 总结Cube设计器简介 维度细化 总结 一.使用向导创建多维数 ...
- Dreamweaver2021安装教程与创建第一个网页
下载地址: https://pan.baidu.com/s/13EIiv4etSzjqRrMWDQp4-Q 提取码:b390 一.解压DW2021文件: 二.以管理员身份运行: 三.更改默认安装位置, ...
- Qt使用教程之创建Qt Quick应用程序(一)
2019独角兽企业重金招聘Python工程师标准>>> <Qt Enterprise最新版下载> 本教程主要使用内置的QML类型并简单介绍Qt Quick的基本概念.本文 ...
- Flutter 创建第一个应用程序
转载https://www.tuicool.com/articles/vYf6raZ 主要介绍下如何用Flutter创建一个应用程序,程序一步步由简单到复杂,操作步骤来自官方,我觉得官方的已经写得挺好 ...
- 【MFC】创建第一个应用程序
00. 目录 文章目录 00. 目录 01. 概述 02. 创建应用程序 03. 程序示例 04. 附录 01. 概述 要创建MFC应用程序,您可以使用向导来自定义您的项目.您也可以从头创建应用程序. ...
- android studio创建第一个安卓程序加载html5页面(一)
前言 软件版本:android studio v1.0正式版,由于v0.x以来软件变化一直比较大,很多问题搜索的解决方案也都是v0.x版本时代的,故首先声明一下版本. 动机:由于工作中需要对移动端软件 ...
最新文章
- html两个性别按钮并排,css实现男女切换按钮
- samtools merge_【生信工具】Samtools 安装与使用 | “十年以后,工具难免沦为朋友”...
- 源码分析(一) 进程cleos的命令解析
- C# DirectX编程设置全屏和PresentParameters参数
- MySQL之条件表达式
- SAP云采购解决方案入华在即
- mongodb 启动方法
- 第一次作业:项目范围管理论文的提纲
- html5决战沙城源码,决战沙城h5符文玩法介绍 怎么获得完美首通
- python学习-类(global、nonlocal、继承、多态)
- celery-02-安装与使用说明-for-redis
- linux mysql可视化_常用的 7 款 MySQL 客户端工具,你值得拥有!
- JRebel-JVMTI [ERROR] You’re using an incompatible ‘jrebel.jar’ with the JRebel Agent.【完美解决方案】
- 移动通信网络的构成思维导图
- 线性代数 --- Gauss消元的部分主元法和完全主元法(补充)
- 项目二 管理与维护Linux系统
- 免费通信时代何时真正到来?
- java如何实现获取客户端公网IP地址?若不会,我手把手教你|非常详细,建议收藏
- VPP学习(二)VPP安装
- Cocos2D教程:使用SpriteBuilder和Cocos2D 3.x开发横版动作游戏——Part 1