《Python和Pygame游戏开发指南》——2.5 pygame.event.Event对象

2.5 pygame.event.Event对象

任何时候,当用户做了诸如按下一个按键或者把鼠标移动到程序的窗口之上等几个动作之一(在本章后面会列出这些动作),Pygame库就会创建一个pygame.event.Event对象来记录这个动作,也就是“事件”(这种叫作Event的对象,存在于event模块中,该模块本身位于pygame模块之中)。我们可以调用pygame.event.get()函数来搞清楚发生了什么事件,该函数返回pygame.event.Event对象(为了简单起见,我们直接称之为Event对象)的一个列表。

这个Event对象的列表,包含了自上次调用pygame.event.get()函数之后所发生的所有事件(或者,如果从来没有调用过pygame.event.get(),会包括自程序启动以来所发生的所有事件)。

第8行是一个for循环,它会遍历pygame.event.get()所返回的Event对象的列表。在这个for循环的每一次迭代中,一个名为event的变量将会被赋值为列表中的下一个事件对象。pygame.event.get()所返回的Event对象的列表,将会按照事件发生的顺序来排序。如果用户点击鼠标并按下键盘按键,鼠标点击的Event对象将会是列表的第一项,键盘按键的Event对象将会是第二项。如果没有事件发生,那么pygame.event.get()将返回一个空白的列表。

时间: 2024-11-01 06:00:43

《Python和Pygame游戏开发指南》——2.5 pygame.event.Event对象的相关文章

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

2.9 Surface对象和窗口 Surface对象是表示一个矩形的2D图像的对象.可以通过调用Pygame绘制函数,来改变Surface对象的像素,然后再显示到屏幕上.窗口的边框.标题栏和按钮并不是Surface对象的一部分. 特别是pygame.display.set_mode()返回的Surface对象叫作显示Surface(display Surface).绘制到显示Surface对象上的任何内容,当调用pygame.display.update()函数的时候,都会显示到窗口上.在一个S

《Python和Pygame游戏开发指南》——2.13 Rect对象

2.13 Rect对象 Pygame有两种方法来表示矩形区域(就像有两种方法表示颜色一样).第一种是4个整数的元组. 1.左上角的X 坐标. 2.左上角的Y 坐标. 3.矩形的宽度(以像素为单位). 4.矩形的高度(以像素为单位). 第二种方法是作为一个pygame.Rect对象,我们后面将其简称为Rect对象.例如,如下的代码创建了一个Rect对象,它的左上角位于(10, 20),宽度为200像素,高度为300像素. 这种表示的方便之处在于Rect对象自动计算矩形的其他部分的坐标.例如,如果你

《Python和Pygame游戏开发指南》——导读

前 言 你好!本书将教你如何使用Python语言和Pygame框架(也叫作Pygame库)来开发图形化的计算机游戏.Pygame使得开发2D图形程序变得很容易.Python和Pygame框架都可以从http://python.org和http://pygame.org 免费下载.你只需要有计算机和这本书,就可以开始开发自己的游戏了. 本书是一本中级编程图书.如果你完全是初次接触编程,你可能需要努力阅读源代码示例并搞清楚程序如何工作.然而,如果你此前学习过如何使用Python编程,这将会容易一些.

《Python和Pygame游戏开发指南》——第2章 Pygame基础知识 2.1 GUI vs. CLI

第2章 Pygame基础知识 Python带有诸如random.math或time这样的几个模块,它们为程序提供额外的功能,同样,Pygame框架也包含了几个模块,其功能包括绘制图形.播放声音.处理鼠标输入等. 本章将介绍Pygame所提供的基本模块和功能,并且假设你已经了解Python编程的基础知识.如果你对理解一些编程概念感到困难,可以阅读我的<Invent Your Own Computer Games with Python>一书,这本书的目标读者是程序设计的完全初学者. <In

《Python和Pygame游戏开发指南》——2.22 播放声音

2.22 播放声音 播放存储在声音文件中的声音,甚至比显示图像文件中的图像还要简单.首先,必须通过调用pygame.mixer.Sound()构造函数,来创建一个pygame.mixer.Sound对象(后面我们将其简称为Sound对象).它接受一个字符串参数,这是声音文件的文件名.Pygame可以加载WAV.MP3或OGG文件.http://invpy.com/formats 介绍了这些声音文件格式的区别. 要播放声音,调用Sound对象的play()方法.如果想要立即停止Sound对象播放,

《Python和Pygame游戏开发指南》——2.19 用pygame.image.load()和blit()绘制图像

2.19 用pygame.image.load()和blit()绘制图像 如果你想要在屏幕上绘制简单的形状,绘制函数已经很好用了,但是,很多游戏都有图像(也叫作精灵,sprite).Pygame能够从PNG.JPG.GIF和BMP图像文件中,将图像加载到Surface对象上.这些图像文件格式的区别参见http://invpy.com/formats. 猫的图像存储在一个名为cat.png 的文件中.要加载这个文件的图像,将字符串'cat.png'传递给pygame.image.load()函数.

《Python和Pygame游戏开发指南》——2.3 建立一个Pygame程序

2.3 建立一个Pygame程序 Hello World的前几行,几乎在你使用Pygame编写的每一个程序中都会用作开头的几行. 第1行是一条简单的import语句,它导入pygame和sys模块,以便我们可以在程序中使用这些模块中的函数.Pygame所提供的所有那些处理图形.声音以及其他功能的Pygame函数,都位于pygame模块中. 当导入pygame模块的时候要注意,你也会自动地导入位于pygame模块之中的所有模块,如pygame.images和pygame.mixer.music.不

《Python和Pygame游戏开发指南》——1.7 安装Pygame

1.7 安装Pygame Pygame不是Python所附带的.和Python一样,Pygame也是可以免费使用的.你必须下载并安装Pygame,这与下载和安装Python解释器一样容易.在Web浏览器中,访问http://pygame.org 并且在该Web站点左边的"Downloads"上点击.本书假设你使用的是Windows操作系统,但是Pygame在每种操作系统上的工作方式都是相同的.你需要针对自己的操作系统以及所安装的Python版本,下载相应的Pygame安装程序. 你不需

《Python和Pygame游戏开发指南》——2.2 使用Pygame的Hello World程序源代码

2.2 使用Pygame的Hello World程序源代码 我们用Pygame开发的第一个程序,是在屏幕上显示一个带有"Hello World"的窗口的小程序.通过点击IDLE的File菜单,然后选择New Window,打开一个新的文件编辑器.在IDLE的文件编辑器中,输入如下的代码并将其保存为blankpygame.py .然后,按下F5键或者从文件编辑器顶部的菜单选择Run > Run Module,运行该程序. 记住,不要输入每一行开始处的行号和句点(那些只是为了方便在本