当前位置:天才代写 > tutorial > Python教程 > 【Pygame 课堂】第3课—— 游戏中的事件

【Pygame 课堂】第3课—— 游戏中的事件

2018-05-23 08:00 星期三 所属: Python教程 浏览:851

有人问,为什么突然讲游戏了?有人问,为什么不继续讲Python的基础?在线学习有人问,为什么不讲爬虫?有人问,为什么不讲算法?……

 

因为有很多内容,每一块都有想听的人。因为同时不可能推送很多内容。因为我喜欢游戏开发,制作一款游戏的过程很有趣。我会尽量在论坛上补充更多方面的内容。微信上的推送有天生的限制,不能让所有人满足,大家见谅。

 

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

 

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

 

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

 

foreventinpygame.event.get():

 

ifevent.type==pygame.QUIT:

 

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

 

pygame.quit()

 

exit()

 

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

 

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

 

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

 

ifevent.type==pygame.MOUSEBUTTONDOWN:

 

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

 

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

 

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

 

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

 

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

 

文章来源于Crossin,由课课家在线学习平台整理,转载请注明。

 

    关键字:

天才代写-代写联系方式