版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Pygame程序开发流程Pygame程序开发流程1Pygame最小开发框架2绘制拼图游戏界面3Pygame程序开发流程导入Pygame模块importpygamefrompygame.localsimport*导入pygame包导入pygame.locals子模块中的所有元素初始化Pygame#初始化pygamepygame.init()res=pygame.init()print("成功初始化模块个数:",res[0],"失败个数:",res[1])初始化Pygame不添加pygame.init()函数添加pygame.init()函数创建Pygame窗口screen=pygame.display.set_mode((500,200),0,32)#创建游戏窗口set_mode(resolution=(0,0),flags=0,depth=0)pygame.HWSURFACE和pygame.DOUBLEBUF创建Pygame窗口SIZE=WIDTH,HEIGHT=640,396pygame.display.set_mode(SIZE,HWSURFACE|FULLSCREEN,32)创建Pygame窗口下面编写一个小程序,演示Pygame窗口模式的切换。创建Pygame窗口说明(1)在set_mode()函数参数中如果需要传入特定的颜色格式,pygame.display子模块中提供了一个名为mode_ok()的函数,用于确定所请求的显示模式是否可用,其参数的使用与set_mode()方法相同,如果无法确定所请求的模式是否可用,将返回0,否则将返回与所要求显示模式的最佳匹配像素深度。(2)除了最佳的像素深度,pygame.display子模块还提供了一个名为list_modes()的函数,用于返回在指定颜色深度下所支持的所有窗口分辨率的一个列表,其参数为一个像素深度和一个窗口显示模式。如果给定的参数是在不可支持的像素深度或者不可用的显示模式下,返回值为-1,表示任何请求的分辨率都应该有效。创建Pygame窗口函数说明pygame.display.set_mode()初始化显示窗口pygame.display.flip()将完整待显示的Surface对象更新到屏幕上pygame.display.update()更新部分屏幕区域显示pygame.display.get_surface()获取当前显示的窗口Surface对象
pygame.display.set_icon()设置窗口图标pygame.display.set_caption()设置窗口标题pygame.display.list_modes()获取可用全屏模式分辨率的列表pygame.dispaly.mode_ok()返回显示模式的最佳颜色深度pygame.display.iconify()最小化显示Surface对象窗口图像渲染——Surface对象Pygame窗口使用Scuface对象来显示内容,Surface对象相当于一个画布,它是Pygame中用于表示图像的对象,可以渲染文本,也可以加载图片。Pygame中的Surface对象就类似于我们在画画时的画纸,Surface对象之间的相互绘制就类似于将画好的画纸进行叠加放置,放置于最上面的画纸会覆盖下面所有的画纸。窗口图像渲染——Surface对象screen.fill((25,102,173))#清屏screen.blit(mingri,(160,150))#绘制pygame.Surface.blit(source,dest,area=None,special_flags=0)->Rect窗口图像渲染——Surface对象函数说明pygame.Surface.convert()修改图像(Surface对象)的像素格式pygame.Surface.convert_alpha()修改图像(Surface对象)的像素格式,包含alpha通道pygame.Surface.copy()创建一个Surface对象的拷贝pygame.Surface.scroll()移动Surface对象pygame.Surface.set_colorkey()设置colorkeyspygame.Surface.get_colorkey()获取colorkeyspygame.Surface.set_alpha()设置整个图像的透明度pygame.Surface.get_alpha()获取整个图像的透明度pygame.Surface.lock()锁定Surface对象的内存使其可以进行像素访问pygame.Surface.unlock()解锁Surface对象的内存使其无法进行像素访问pygame.Surface.mustlock()检测该Surface对象是否需要被锁定窗口图像渲染——Surface对象函数说明pygame.Surface.get_locked()检测该Surface对象当前是否为锁定状态pygame.Surface.get_locks()返回该Surface对象的锁定pygame.Surface.get_at()获取一个像素的颜色值pygame.Surface.set_at()设置一个像素的颜色值pygame.Surface.get_at_mapped()获取一个像素映射的颜色索引号pygame.Surface.get_palette()获取Surface对象8位索引的调色板pygame.Surface.get_palette_at()返回给定索引号在调色板中的颜色值pygame.Surface.set_palette()设置Surface对象8位索引的调色板pygame.Surface.set_palette_at()设置给定索引号在调色板中的颜色值pygame.Surface.map_rgb()将一个RGBA颜色转换为映射的颜色值pygame.Surface.unmap_rgb()将一个映射的颜色值转换为Color对象窗口图像渲染——Surface对象函数说明pygame.Surface.set_clip()设置该Surface对象的当前剪切区域pygame.Surface.get_clip()获取该Surface对象的当前剪切区域pygame.Surface.subsurface()根据父对象创建一个新的子Surface对象pygame.Surface.get_parent()获取子Surface对象的父对象pygame.Surface.get_abs_parent()获取子Surface对象的顶层父对象pygame.Surface.get_offset()获取子Surface对象在父对象中的偏移位置pygame.Surface.get_abs_offset()获取子Surface对象在顶层父对象中的偏移位置pygame.Surface.get_size()获取Surface对象的尺寸pygame.Surface.get_width()获取Surface对象的宽度pygame.Surface.get_height()获取Surface对象的高度pygame.Surface.get_rect()获取Surface对象的矩形区域窗口图像渲染——Surface对象函数说明pygame.Surface.get_bitsize()获取Surface对象像素格式的位深度pygame.Surface.get_bytesize()获取Surface对象每个像素使用的字节数pygame.Surface.get_flags()获取Surface对象的附加标志pygame.Surface.get_pitch()获取Surface对象每行占用的字节数pygame.Surface.get_masks()获取用于颜色与映射索引号之间转换的掩码pygame.Surface.set_masks()设置用于颜色与映射索引号之间转换的掩码pygame.Surface.get_shifts()获取Surface对象颜色和透明度通道的位移值。这些位移值描述了每个颜色通道在像素中的存储位置pygame.Surface.set_shifts()设置Surface对象颜色和透明度通道的位移值pygame.Surface.get_losses()获取Surface对象的像素格式中的色差信息。该方法返回一个包含四个元素的元组,分别表示红色、绿色、蓝色和透明度通道的色差值pygame.Surface.get_bounding_rect()获取最小包含所有数据的Rect对象pygame.Surface.get_view()获取Surface对象的像素缓冲区视图pygame.Surface.get_buffer()获取Surface对象的像素缓冲区对象设置游戏窗口状态使用Pygame制作小游戏一般都以一个窗口呈现,该过程类似于一个画板,在画板上放置已画好的画纸,而在这些画纸上渲染的可以是一张图片、一段文本、一个图形等等,当存在有多张画纸时,会出现层叠效应;而当需要Pygame窗口一直呈现在界面中时,就需要对每一张画纸进行重叠部分的不间断的擦除与绘制,在Python中,这需要借助一个while循环实现,只要条件为真,它就持续运行,直到条件为假或者直接终止程序,使其退出运行。设置游戏窗口状态#程序运行主体循环whileTrue:screen.fill((0,163,150)) #1.清屏
screen.blit(mingri,(50,80),(0,0,700,150)) #2.绘制
foreventinpygame.event.get(): #事件索取
ifevent.type==QUIT: #判断为程序退出事件
pygame.quit() #退出游戏,还原设备
sys.exit() #程序退出
pygame.display.update() #3.刷新举例说明Pygame是一个专门用来设计游戏的模块,在设计游戏时,需要知道游戏状态只是一种形象的叫法,它其实是程序中使用到的所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保障现场施工方案(3篇)
- 动态认知数据在抑郁症临床试验中的应用
- 河北省秦皇岛市昌黎第一中学2026届高三上学期期末考试历史试卷(含答案)
- 动态更新触发条件的标准化设定
- 前列腺炎的规范化诊疗路径
- 制剂辅料术语与全球药典术语标准化
- 中医护理在儿科疾病中的应用
- 创新医疗器械生态圈协同构建
- 切口感染预防:术前沐浴证据更新
- 船舶钳工达标强化考核试卷含答案
- 手机摄影培训课件
- 高渗盐水治疗脑水肿及颅内高压专家共识解读 3
- GB/T 45860.1-2025光纤激光束焊机的验收试验第1部分:光纤输送机的激光组件
- 多学科围手术期气道管理国际专家共识2025年版
- 《幼儿园班级管理 》课件-第一章 幼儿园中的班级
- GB/T 4447-2025船舶与海洋技术海船起锚机和起锚绞盘
- 维保工作管理制度
- TSG21-2025固定式压力容器安全技术(送审稿)
- 尼康S8100数码相机使用说明书
- 国家基本比例尺地图编绘规范 第4部分 15000 110000地形图编绘规范 征求意见稿
- 1.4 化学实验基本操作(练习)【中职专用】(高教版2021通用类)(原卷版)
评论
0/150
提交评论