更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

Python实战【用Python写游戏第三节】游戏中的事件

  • 发布:Python培训
  • 来源:Crossin的编程教室
  • 时间:2019-03-26 15:58

欢迎大家来到Python自学教程实战篇,我们上一讲了解了游戏的原理是什么,游戏的本质是什么,也就是游戏最根本的框架,这里涉及到每次循环接收到玩家操作的过程,也就是事件响应, 那么在游戏中有哪些需要响应的事件呢?每次又需要给出哪些反馈呢?这节课我们就来了解一下。

Python实战【用Python写游戏第三节】游戏中的事件

上次课讲了游戏最根本的框架,说到在每次循环中会接收玩家的操作。这是游戏中很重要的一个环节--事件响应。

玩家的操作会触发程序中的事件,常见的事件包括:关闭程序、按下键盘、移动鼠标、按下鼠标等等。今天我们挑其中一个来举例说明:“鼠标按下”事件(MOUSEBUTTONDOWN)。

还记得上次课中的这段代码吗:

for event in pygame.event.get():

if event.type == pygame.QUIT:

#接收到退出事件后退出程序

pygame.quit()

exit()

它就是一段事件响应的处理代码。pygame.event.get()会接收所有程序中的事件。当判断这个事件是一个关闭程序(QUIT)的事件时,就将程序关闭。

现在,我们要增加一个事件响应:当玩家点击了鼠标之后,就换一张背景图。

在for循环中新增一段if语句:

if event.type == pygame.MOUSEBUTTONDOWN:

#接收到鼠标按下事件后更换背景

background = pygame.image.load('bg2.jpg').convert()

pygame.image.load().convert()是将图片文件读入程序,后面的.convert()可以省略。

运行程序,在窗口上点击鼠标,背景会变成bg2.jpg的图案。为了显示效果,最好使用和bg.jpg长宽一样的图片。

不过点击了一次之后,背景就不会再变了。而实际上,在你每次点击的时候,程序都会去读取一遍bg2.jpg,这是没有必要。把这个程序的改进留给你们:点击鼠标的时候,背景可以在2张甚至多张图片间切换,另外最好不要每次都去读文件。

恭喜您在Python自学的道路上又坚持了一天,我们目前学习的知识比之前的要复杂一些,但是也比之前的有趣多了,所以希望大家跟上我们的步伐,继续加油!

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Python实战【用Python写游戏第二节】游戏的本质
下一篇:Python实战【用Python写游戏第四节】获取鼠标位置

【Git第八节】移除文件

【Python实战】四行Python代码就能知道你那的天气,你敢信?

Python实战【用Python写游戏第十三节】exe打包

Python实战【用Python写游戏第十二节】屡败屡战

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省