pygame基础功能总结
1.导入Pygame模块
(1) 模块并初始化
① Import pygame
② Pygame.init()
(2) 创建窗体
① Window_size = (800,600) 长宽
② Screen= pygame.disply.set_mode(Window_size)
③ pygame.disply.set_caption(“My First Pygame Window”) 设置窗体标题
(3) 主循环
① Running = True 主循环标志
② while running:
for event in pygame.event.get(): 事件遍历
if event.type == pygame.QUIT:
Running =False
Pygame.quit() 退出
2.绘制图形
(1) 设置颜色
① WHITE = (255,255,255)
② BLACK = (0,0,0)
③ RED = (255,0,0)
④ GREEN = (0,255,0)
⑤ BLUE = (0,0,255)
(2) 绘制矩形
① pygame.draw.rect(screen,RED,(100,100,50,50))
② pygame.draw.circle(screen,BLUE,(200,200),30)
(3) 更新屏幕
① Pygame.display.flip() 更新整个待显示的Surface对象到屏幕上
② Pygame.display.update() 更新部分内容显示到屏幕上,如果没有参数,则与flip功能相同
3.加载图像和显示图形
(1) Player_image = pygame.image.load(‘play.png’) 加载图形
① Pygame.image.load(‘’).convert_alpha # convert_alpha相对于convert,保留了图像的Alpha 通道信息,可以认为是保留了透明的部分,实现了透明转换,相比较直接使用load提高了blit的速度
(2) Screen.blit(Player_image,(100,100)) #显示图形(图片,位置)
4.处理键盘输入
(1) 检测键盘事件
① For event in pygame.event.get():
If event.type == pygame.KEYDOWN: 键盘按下事件
if event.key == pygame.K_LEFT: 按下Left
Pass
(2) 鼠标输入
① For event in pygame.event.get():
If event.type ==pygame.MOUSEBUTTONDOWN: 鼠标按下
Pass
5.背景音乐和音效的添加
(1) 初始化混音器
① Pygame.mixer.init()
(2) 加载和播放背景音乐
① Pygame.mixer.music.load(‘xxxx.mp3’) 加载
② Pygame.mixer.msic.play(-1) -1 表示循环播放
(3) 加载和播放音效
① Collision_sound = pygame.mixer.Sound(‘collision.wav’)
② Collision_sound.play()
6.动画与帧率的控制值
(1) 控制帧率
① Clock = pygame.time.clock() 创建时钟对象
Clock.tick(60) 设置帧率为60FPS
1 import pygame
2 pygame.init()
3
4 window_size = (800, 600)
5 screen = pygame.display.set_mode(window_size)
6 pygame.display.set_caption("窗体名称")
7 running = True # 主循环标志
8 clock = pygame.time.Clock() # 创建时钟对象
9 player_image = [pygame.image.load(r'xxx\Peashooter_{:02d}.png'.format(i)).convert_alpha() for i in range(0, 25)] # 加载图片
10 index = 0
11 while running: # 主循环
12
13 screen.fill((255,255,255)) #背景纯白
14 screen.blit(player_image[index % len(player_image)], (2, 2)) #图片显示
15 pygame.display.update() #参数是个矩形样式或矩形样式的序列
16 # pygame.display.flip()
17 for event in pygame.event.get(): # 事件遍历
18 if event.type == pygame.QUIT:
19 running = False
20 if event.type == pygame.MOUSEBUTTONDOWN:
21 index +=1 #点击更新图片
22
23
24 clock.tick(60) # 设置帧率为60FPS
pygame基础功能总结的更多相关文章
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.0,完善基础功能(源码)
(前段时间封闭式开发完了一个项目,最近才有时间继续更新GG的后续版本,对那些关注GG的朋友来说,真的是很抱歉.)GG的前面几个版本开发了一些比较高级的功能,像视频聊天.远程桌面.文件传送.远程磁盘等, ...
- 谷歌Chrome浏览器开发者工具的基础功能
上一篇我们学习了谷歌Chrome浏览器开发者工具的基础功能,下面介绍的是Chrome开发工具中最有用的面板Sources.Sources面板几乎是最常用到的Chrome功能面板,也是解决一般问题的主要 ...
- Netsharp快速入门(之16) Netsharp基础功能(权限管理)
第5章 Netsharp基础功能 5.1 权限配置 5.1.1 功能权限 1.配置权限功能点,打开平台工具-基础业务-操作管理 2.选择资源节点为销售订单,点添加常用操作,添加完成后 ...
- 李洪强iOS开发之-环信03_集成 SDK 基础功能
李洪强iOS开发之-环信03_集成 SDK 基础功能 集成 SDK 基础功能 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. SDK 同步/异步方法区分 ...
- wc基础功能
第一次作业 项目地址 https://gitee.com/xxlznb/WordCount PSP WordCount 预估耗时(分钟) 实际耗时 计划 20 30 预估任务需要时间 20 30 开发 ...
- Keepalived详解(三):Keepalived基础功能应用实例【转】
Keepalived基础功能应用实例: 1.Keepalived基础HA功能演示: 在默认情况下,Keepalived可以实现对系统死机.网络异常及Keepalived本身进行监控,也就是说当系统出现 ...
- jmeter 基础功能详解
jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...
- (转)Chrome开发者工具不完全指南(一、基础功能篇)
本篇转载自卖烧烤夫斯基,并做了小部分的修改. 原文地址:Chrome开发者工具不完全指南(一.基础功能篇) 原作者:卖烧烤夫斯基 就算你不是一名前端开发工程师,相信你也不会对Chrome浏览器感到陌生 ...
- 六、EnterpriseFrameWork框架基础功能之权限管理
回<[开源]EnterpriseFrameWork框架系列文章索引> 从本章开始进入框架的第二块内容“EnterpriseFrameWork框架的基础功能”,包括:权限管理.字典数据管理. ...
- 项目开发-->基础功能汇总
祭奠曾经逝去的青春…… 1.基础功能汇总-->身份认证及用户登录模块 2.基础功能汇总-->一键登录功能汇总 3.堆和栈 4.变量
随机推荐
- 15. Vue 数据双向绑定原理
在初始化 Vue 实例的时候,会遍历data中的数据,通过 Object.defineProperty 给数据添加 getter 和 setter 函数 ,获取数据触发 getter 函数 ,修改数据 ...
- Android复习(三)清单文件中的元素——>application
<application> 语法: <application android:allowTaskReparenting=["true" | "false ...
- vue打包后,添加入spring boot下,访问不到字体的BUG
主要报错:OTS parsing error: incorrect file size in WOFF header OTS parsing error: incorrect entrySelecto ...
- 好上好信息 API 微服务集群在 KubeSphere 的部署实践
作者:徐鹏.深圳好上好信息(001298).技术副总监.负责云服务器团队的架构设计及业务开发,拥抱云原生,乐于分享,终生学习. 公司简介 好上好信息(001298)是中国大陆一家致力于为中国智造提供全 ...
- activiti教程
一.工作流介绍 1.1 概念 工作流(Workflow),就是通过计算机对业务流程自动化执行管理.它主要解决的是"使在多个参与者之间按照某种预定义的规则自动进行传递文档.信息或任务的过程,从 ...
- 简单几步,基于云主机快速为Web项目添加AI助手
在华为开发者空间,借助华为云对话机器人服务 CBS您可以零代码创建一个大模型 RAG (Retrieval-Augmented Generation,即检索增强生成)应用,来实现 AI 助手的智能问答 ...
- sqli注入之sqlmap
善于使用google hacking的搜索语法不失为一种有效的挖洞方法. 利用google浏览器inurl搜索语法寻找可能sql注入的php网站url inrul:productInfo.php?id ...
- excel/xlsx 空值判断NaN
从numpy导入nan类型,以此判断NaN类型
- context之WithTimeout的使用
1. context包的WithTimeout()函数接受一个 Context 和超时时间作为参数,返回其子Context和取消函数cancel2. 新创建协程中传入子Context做参数,且需监控子 ...
- 修复Bug好比钓鱼
作者: Jim Bird 来源: CSDN 发布时间: 2012-09-13 10:43 阅读: 4224 次 推荐: 18 原文链接 [收藏] 英文原文:Fixing a Bug ...