位置: 编程技术 - 正文

python Pygame的具体使用讲解(pygame有哪些函数)

编辑:rootadmin

推荐整理分享python Pygame的具体使用讲解(pygame有哪些函数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python的游戏,python pygame模块怎么写游戏,python3 pygame,pygame常用方法,pygame常用方法,python和pygame游戏开发指南,python3 pygame,pygame常用方法,内容如对您有帮助,希望把文章链接给更多的朋友!

一、实验介绍

1.1 实验内容

在本节课中,我们将讲解Pygame的常用对象及其操作,包括图形、动画、文字、音频等,确保同学们对Pygame有一个基础的了解,同时为后续课程做好准备。

1.2 实验知识点

Pygame图形 Pygame动画 Pygame文字 Pygame音频 Pygame事件

1.3 实验环境

Python 2.7.6 Xfce终端

1.4 适合人群

本课程难度为一般,属于初级级别课程,适合具有Python基础的用户,熟悉Python基础知识加深巩固。

1.5 代码获取

本节实验所用到的代码和相关资源文件可以通过下面命令下载到实验楼环境中,作为参照对比进行学习。

解压缩至 /home/shiyanlou/foundation :

二、开发准备

本次课程主要利用Pygame模块来进行开发,首先我们需要打开Xfce终端,并使用 pip 命令来安装Pygame

安装完成之后进入Python的交互界面,输入以下命令查看是否成功安装。

若无异常,则说明安装成功。

三、实验步骤

3.1 HelloWorld

首先开始我们第一个HelloWorld程序:

效果图如下:

这里解释一下上面程序的运行方式

一个游戏循环(也可以称为主循环)就做下面这三件事:

处理事件 更新游戏状态 绘制游戏状态到屏幕上

3.2 绘制图形

Pygame的坐标原点(0,0)点位于左上角,X轴自左向右,Y轴自上向下,单位为像素。

这里介绍一下常用的方法:

pygame.draw.line(Surface, color, start_pos, end_pos, width)此方法用于绘制一条线段

pygame.draw.aaline(Surface, color, start_pos, end_pos, blend)此方法用于绘制一条抗锯齿的线

pygame.draw.lines(Surface, color, closed, pointlist, width)此方法用于绘制一条折线

pygame.draw.rect(Surface, color, Rect)此方法用于绘制一个矩形

pygame.draw.rect(Surface, color, Rect, width)此方法用于绘制一个矩形框

pygame.draw.ellipse(Surface, color, Rect)此方法用于绘制一个椭圆

pygame.draw.ellipse(Surface, color, Rect, width)此方法用于绘制一个椭圆框

pygame.draw.polygon(Surface, color, pointlist, width)此方法用于绘制一个多边形

pygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width)此方法用于绘制一条弧线

pygame.draw.circle(Surface, color, Rect, radius)此方法用于绘制一个圆

以下为示例代码:

效果图如下:

3.3 实现动画

由于人类眼睛的特殊生理结构,当所看画面的帧率高于的时候,就会认为是连贯的,此现象称之为 视觉暂留 。

帧率(Frame rate)是用于测量显示帧数的量度,所谓的测量单位为每秒显示帧数(Frames per Second,简称:FPS)

python Pygame的具体使用讲解(pygame有哪些函数)

一般来说fps是可以接受的,但是将性能提升至fps则可以明显提升交互感和逼真感,但是一般来说超过fps一般就不容易察觉到有明显的流畅度提升了。

在我们原有坐标系的基础上添加偏移量,再重新绘制,依次一张一张的循环绘制下去,就会得到我们想要的物体移动的效果。

Pygame实现动画主要用到的方法:

pygame.image.load(filename)加载一张图片

pygame.Surface.blit(source, dest, area=None, special_flags = 0)将图片绘制到屏幕相应坐标上(后面两个参数默认,可以不传)

pygame.time.Clock()获得pygame的时钟

pygame.time.Clock.tick(FPS)设置pygame时钟的间隔时间

以下为示例代码:

效果图如下:

3.4 绘制文字

如果你想绘制文字到屏幕上,Pygame提供了很方便的方法使用.ttf字体文件,这样我们就能很轻易的将文字绘制在屏幕上了。

这里我使用了ARBERKLEY.ttf作为字体,字体文件的获取请参考1.5代码获取。

主要用到的方法:

pygame.font.Font(filename, size)

filename:字体文件的文件名;

size:字体的高height,单位为像素;

pygame.font.Font.render(text, antialias, color, background=None)

text:要显示的文字;

antialias: 是否抗锯齿;

color:字体颜色;

background:背景颜色(可选参数);

.get_rect()

获得一个对象的rect,以便于设置其坐标位置

以下为示例代码:

效果图如下:

3.5 播放音频

在Pygame里播放音频有两个方法,一个用来播放特效声音,一个用来播放背景音乐:

pygame.mixer.Sound(filename)

该方法返回一个Sound对象,调用它的.play( )方法,即可播放较短的音频文件(比如玩家受到伤害、收集到金币等);

pygame.mixer.music.load(filename)

该方法用来加载背景音乐,之后调用pygame.mixer.music.play( )方法就可以播放背景音乐(Pygame只允许加载一个背景音乐在同一个时刻)

以下为示例代码:

注意:因实验楼里暂时不能播放音频,上述代码在实验楼环境中可能无法正常运行,同学们可以在自己的电脑上尝试运行。

3.6 事件

Pygame里常用的事件如下表:

事件 产生途径 参数 QUIT 用户按下关闭按钮 none ACTIVEEVENT Pygame被激活或者隐藏 gain, state KEYDOWN 键盘被按下 unicode, key, mod KEYUP 键盘被放开 key, mod MOUSEMOTION 鼠标移动 pos, rel, buttons MOUSEBUTTONDOWN 鼠标按下 pos, button MOUSEBUTTONUP 鼠标放开 pos, button VIDEORESIZE Pygame窗口缩放 size, w, h

以下为示例代码:

效果图如下:

四、实验总结

本节课程我们主要讲解了Pygame的一些常用对象及操作,这些都是我们后续课程需要用到的知识点,希望同学们能熟练掌握这些内容。若想要深入了解,可参考下方Pygame官方文档的链接。

五、参考链接

Pygame官方文档

标签: pygame有哪些函数

本文链接地址:https://www.jiuchutong.com/biancheng/372161.html 转载请保留说明!

上一篇:Python算法输出1-9数组形成的结果为100的所有运算式(python输出1-100)

下一篇:简单了解Python中的几种函数(python语言中)

  • 个体工商户一直没办税务登记证
  • 企业办税权限怎么授权给个人
  • 房产税与土地使用税如何申报
  • 信息技术服务增值税
  • 财务软件里怎么输大于等于号
  • 外购商品结转成本分录
  • 餐饮服务需要缴纳增值税吗
  • 增值税电子普通发票和增值税专用发票区别
  • 工厂筹建期间购房合法吗
  • 同一张记账凭证可以出现多笔分录吗
  • 建筑安装工程怎么缴税
  • 固定资产出租的收入计入什么科目
  • 企业生产设备发生的日常维修费用
  • 申请国家知识产权的条件
  • 利息收入属于现金流入吗
  • 总公司委托分公司工程委托书模板
  • 发票上的税额和报税的数不一样,按照哪个报
  • 小规模纳税人一年不超过多少万
  • 关于发票入账的会计分录
  • 教育培训机构涉税问题
  • 中小五金企业如何进行成本核算
  • 车辆购置税退税条件
  • 给股东分配股利
  • 与存货相关的车间固定资产日常
  • 玩游戏网络延时高怎么处理
  • 生育津贴申请表打印
  • qq登录界面的设计与实现
  • 通过email发送歌曲放哪?
  • 投标保证金怎么退还流程
  • 收到发票未抵扣谁开红字
  • 显卡的散热
  • 海关专用缴款书认证的步骤和说明
  • php网站能实现什么效果
  • 应交增值税减免税额在借方
  • 残疾人加计扣除工资按应发还是实发
  • 固定资产报废清理怎么做账务处理的
  • 专票开户行少写一个字
  • poi java 导入导出
  • 一般纳税人和小规模公司怎么区分
  • 织梦怎么添加相关
  • mongodb主从同步速度
  • 利息收入为什么冲减财务费用
  • 应发工资包括岗位工资吗
  • 小规模企业每月收入多少可以不纳税
  • 销货清单是否必须备案
  • 税金及附加包括哪些科目
  • 个人所得税能说明什么
  • 投资性房地产累计摊销
  • 银行转账凭证可以保留多久
  • 公司注销时退还实收资本要交个税吗
  • 实收资本的入账金额包括消费税吗
  • 固定资产赠送后怎么做凭证
  • 化妆品消费税纳税标准
  • 简易计税项目的进项税能抵一般项目的销项税额吗?
  • 房地产企业销售现房是否预缴增值税
  • 工程发票入账
  • 暂估应付账款余额调整
  • 企业如何设置预缴税款
  • 企业收到稳岗补贴需要交企业所得税吗
  • 企业信息页
  • secbizsrv.exe是什么程序
  • bash.exe
  • linux 根目录
  • win1020h2正式版
  • windows8快速启动设置
  • win7系统电脑开热点
  • win7系统电脑蓝牙怎么开
  • 定时删除一个文件怎么删
  • shell脚本判断一个字符串是否为空
  • 禁止指定qq号登录怎么弄
  • javascript中的this属性
  • css选择器教程
  • jquery正则表达式的用法
  • JavaScript事件 "事件对象"的注意要点
  • adb命令ls
  • 进口增值税如何勾选认证
  • 税务局纳税服务中心
  • 八戒财税兼职
  • 广东省哪里地方考中控证好
  • 自来水公司服务热线电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设