《Python程序设计基础教程》Python游戏开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图11-8
11.2.2 创建游戏窗口
基于已经学到的Python编程知识,理解语句的整体结构是没有什么困难的。现在对程序中出现 的display、event模块加以解释。
1.pygame的display模块
display是pygame中控制显示窗口和屏幕的模块。display模块里包含很多方法(对传递过来的 参数做处理,完成某件事情)或函数(对传递过来的参数做处理,然后返回处理结果)。这里,主 要介绍程序中涉及的set_mode()和set_caption()。
本章首先介绍安装pygame的步骤,然后利用pygame来开发几款小游戏。
目录导航
11.1 安装游戏模块pygame
11.2 实战案例1:跳跃的小圆球
11.2.1 案例分析与结果展示 11.2.2 创建游戏窗口 11.2.3 往游戏窗口中添加小圆球 11.2.4 在窗口中移动小圆球 11.2.5 小圆球与窗口边界的碰撞处理
11.2 实战案例1:跳跃的小圆球
11.2.1 案例分析与结果展示 11.2.2 创建游戏窗口 11.2.3 往游戏窗口中添加小圆球 11.2.4 在窗口中移动小圆球 11.2.5 小圆球与窗口边界的碰撞处理
11.3 实战案例2:一步步行走的小圆球
11.3.1 一步步行走的小圆球的程序bxxq.py 11.3.2 键盘按键的事件 11.3.3 小圆球的行进路线
第11章
Python游戏开发
Python程序设计基础教程(慕课版)
本章导读
The chapter’s introduction
制作与开发游戏是Python实际应用的一个方面。Python已经成为当前非常受人青 睐的一款游戏开发软件。
Python用于游戏开发的模块是pygame,它可用于电子游戏的设计(包含图像、声 音),也可用于进行实时的电子游戏研发。由于pygame把开发游戏时所需要的功能和 理念(主要体现在图像方面)都完全简化成了游戏逻辑本身,用到的资源结构都可以由 其进行提供,所以用pygame开发游戏,不会受到如C、汇编等低级程序设计语言的束 缚与干扰。
目录导航
11.1 安装游戏模块pygame
11.2 实战案例1:跳跃的小圆球
11.2.1 案例分析与结果展示 11.2.2 创建游戏窗口 11.2.3 往游戏窗口中添加小圆球 11.2.4 在窗口中移动小圆球 11.2.5 小圆球与窗口边界的碰撞处理
11.3 实战案例2:一步步行走的小圆球
11.3.1 一步步行走的小圆球的程序bxxq.py 11.3.2 键盘按键的事件 11.3.3 小圆球的行进路线
功能 管理颜色 加载光标 显示游戏窗口 绘制形状、线和点 管理游戏窗口的事件 使用字体 往游戏窗口加载和存储图片 读取键盘按键 声音 鼠标 管理图形所在窗口上的矩形区域 管理图像和屏幕 管理时间 缩放和移动图像
目录导航
11.1 安装游戏模块pygame
11.2 实战案例1:跳跃的Fra bibliotek圆球11.2.1 案例分析与结果展示 11.2.2 创建游戏窗口 11.2.3 往游戏窗口中添加小圆球 11.2.4 在窗口中移动小圆球 11.2.5 小圆球与窗口边界的碰撞处理
代码(1)
#导入有关模块 1. import pygame 2. import sys
#初始化窗口 3. pygame.init()
#设置游戏窗口 4. screen=pygame.display.set_mode((640,480)) 5. pygame.display.set_caption("跳跃的小圆球")
代码(2)
#游戏主循环
6. while True:
#添加检测窗口发生的事件
7. or event in pygame.event.get():
8.
if event.type==pygame.QUIT:
9.
sys.exit()
10. pygame.quit()
11.2.2 创建游戏窗口
图11-8所示为程序运行结果,创建出了一个名为“跳跃的小圆球”的游戏窗口。 整个程序的结构分为5个部分: (1)语句1~2是导入pygame和sys模块; (2)语句3是对pygame的初始化; (3)语句4~5是对游戏窗口的设置; (4)语句6~9是游戏主循环做的事情; (5)语句10是退出pygame。
例如,语句8中的if语句就是把event里的事件类型(event.type)与pygame中的QUIT事件 进行比较。如果相等,那么就执行语句10以退出pygame。
至此,创建游戏窗口的程序功能已经明确:先是导入需要的模块;然后对pygame进行初始 化;接着对游戏窗口进行设置;最后是无限循环主程序,以便游戏窗口一直在计算机平台上 显示;直至单击“关闭”按钮,产生了QUIT事件,从而结束程序的运行,退出pygame。
11.3 实战案例2:一步步行走的小圆球
11.3.1 一步步行走的小圆球的程序bxxq.py 11.3.2 键盘按键的事件 11.3.3 小圆球的行进路线
11.4 实战案例3:小鸟穿越门柱游戏
11.4.1 制作游戏框架 11.4.2 创建小鸟类 11.4.3 创建门柱类 11.4.4 计算得分 11.4.5 检测碰撞
【注意】如果游戏窗口原先有标题,那么执行该语句,将会用新的标题取代窗口上原 有的标题。另外,给出的窗口名称必须用单引号或双引号括起,否则会出错。
11.2.2 创建游戏窗口
2.pygame的event模块
event是pygame中用来处理事件与事件队列的模块。在游戏进行过程中,会发生很多的事件, 例如QUIT(退出)、KEYDOWN(按下键盘上的某个键)、KEYUP(松开键盘上的某个键)、 MOUSEBUTTONUP(抬起鼠标)、MOUSEBUTTONDOWN(按下鼠标)等。这里要特别注意, 出现在pygame中的各种事件名称,必须都是英文大写字母。
找到图片后,可以将它存放在与程序相同的文件夹下,这样使用起来就比较方便。例如,下 面的程序“tjxq.py”位于D盘根目录下名为“ball”的文件夹里,于是把小圆球图片文件 “ball.gif”也放在该文件夹中,这时图片的完整位置是“D:/ball/ball.gif”。
表11-1 pygame常用模块
模块名 pygame.color pygame.cursors pygame.display pygame.draw pygame.event pygame.font pygame.image pygame.key pygame.mixer pygame.mouse pygame.rect pygame.surface pygame.time pygame.transform
图11-5
图11-6
触碰到窗口 边界后弹起
图11-7
11.2.1 案例分析与结果展示
游戏很简单,其程序的结构涉及如下的几个方面: ➢ (1)创建游戏窗口; ➢ (2)往窗口上添加小圆球; ➢ (3)让小圆球在窗口上移动; ➢ (4)检测小圆球与窗口边界的撞击。
目录导航
11.1 安装游戏模块pygame
11.3 实战案例2:一步步行走的小圆球
11.3.1 一步步行走的小圆球的程序bxxq.py 11.3.2 键盘按键的事件 11.3.3 小圆球的行进路线
11.4 实战案例3:小鸟穿越门柱游戏
11.4.1 制作游戏框架 11.4.2 创建小鸟类 11.4.3 创建门柱类 11.4.4 计算得分 11.4.5 检测碰撞
11.2.1 案例分析与结果展示
“跳跃的小圆球”是利用pygame开 发的一个极为简单的游戏,程序 (ball.py)开始运行时,在背景为红 色的窗口左上角出现一个白色的小圆 球,它会自动按照虚线指引的方向移 动,如图11-5所示。直到碰撞到窗口 的底部边界,如图11-6所示。移动到 底部边界后,小圆球将按规定的方向 弹起,继续进行移动,如图11-7所示。 小圆球持续在窗口中运动,直到单击 “关闭”按钮,即可结束游戏。
图11-2
图11-1
图11-3
11.1 安装游戏模块pygame
2.键入install命令
在命令提示符窗口键入以下命令,如图11-4 所示。 ➢ pip install pygame 这时系统就开始安装我们所需要的游戏模块 pygame了。安装时,命令提示符窗口会随 时显示装入的进度,最终将显示信息: ➢ Installing collected packages:pygame ➢ Succesfully installed pygame-1.9.4 表示已成功装入了该模块。
在游戏过程中,首先需要获得事件,然后才能去判断发生的是什么事件。获得事件是通过 pygame调用方法get()完成的,具体写法是:
pygame.event.get()
11.2.2 创建游戏窗口
方法get()没有参数,调用后它会将所获得的事件标识返回,程序中应该用一个事件变量接收 这一事件。例如,程序里的语句7是通过for循环,把pygame事件队列里的事件逐一赋予变 量event的。然后将event里记录的事件类型与pygame中的事件类型进行比较,以确定对此 事件采取什么样的处理措施。
11.1 安装游戏模块pygame
在Python中使用pygame之前,必须先完成对它的安装,以下是安装的步骤。 1.进入命令提示符窗口
执行“开始→运行”命令,如图111所示(不同的操作系统进入“管理员: 命令符”的方式不同,这里以Windows 10操作系统为例,其他操作系统方法类 似),打开“运行”对话框,输入 “cmd”,单击“确定”按钮,如图112所示。进入命令提示符窗口,如图11-3 所示。
11.4 实战案例3:小鸟穿越门柱游戏
11.4.1 制作游戏框架 11.4.2 创建小鸟类 11.4.3 创建门柱类 11.4.4 计算得分 11.4.5 检测碰撞
11.2.2 创建游戏窗口
在计算机上安装了pygame后,就可以借助pygame,创建游戏所需要的窗口了。我们给创 建游戏窗口的程序取名为“cjck”:
11.4 实战案例3:小鸟穿越门柱游戏
11.4.1 制作游戏框架 11.4.2 创建小鸟类 11.4.3 创建门柱类 11.4.4 计算得分 11.4.5 检测碰撞
11.2.3 往游戏窗口中添加小圆球
上面的程序只是完成了对游戏窗口的创建。本小节就来解决向游戏窗口中添加小圆球的问题。
游戏中的小圆球是一张图片,需要事先准pg”’、“.png”或“.gif”格式。在准备图片时, 要注意所选用图片的尺寸,如果图片较大,游戏窗口尺寸与其不匹配,程序运行时的效果可 能会不太好。
(2)set_caption。 set_caption()有两个参数,通常情况下也只用第1个,该参数用来设置当前窗口的标题的。具 体写法是:
pygame.display. set_caption()
例如,程序中的语句5表明创建的游戏窗口的标题为“跳跃的小圆球”;如果程序中没有这条语 句,那么该窗口标题栏显示的将是“pygame window”。
(1)set_mode。 set_mode()有3个参数,通常情况下只用第1个,其他两个省略不写。第1个参数是元组,有两 个数值型元素,pygame就通过这两个元素,规定了窗口屏幕的尺寸。具体写法是:
pygame.display. set_mode()
11.2.2 创建游戏窗口
例如,程序中的语句4表明创建一个长640像素、宽480像素的窗口,调用后将创建的窗口赋予 变量screen,它就成为游戏窗口对象的标识,游戏的窗口就存在了。
图11-4
11.1 安装游戏模块pygame
3.测试版本号
安装完毕后,如果想检查一下安装模块的版本 号,可在命令提示符窗口键入import(导入) pygame,或由pygame调用方法ver()。 如果要卸载已安装的pygame模块,可以在命 令提示符窗口键入命令: ➢ pip uninstall pygame 在pygame里,集中了开发游戏软件时需要的、 涉及底层功能的各种模块,所以我们在开发过 程中,只需将自己的精力放在软件实现的逻辑 关系和结构设计上即可。表11-1列出了 pygame中常用的模块(黑体字标示的是本章 实战案例中会用到的模块)。
相关文档
最新文档