设置按键退出python pygame动画(animation)程序,python检测键盘按键
功能:设置按键退出python pygame动画(animation)程序,python3.6检测键盘按键
pygame运行起来,不弄个强行终止都刹不住。。。。为此研究了一下怎么退出。
实现的效果是:按D键立即退出!!!其他键可以依键码进行设置。
# 将一个有完整图片路径的列表,展示为动画
def show_animation(animation_size=[960, 540], imgs_list_to_animate):num = len(imgs_list_to_animate) # img_list类似于 ['/home/user/1.jpg', ...]# 初始化pygame.init()# 创建窗口window = pygame.display.set_mode(animation_size)# 设置窗口标题pygame.display.set_caption('title')names = locals() # locals() 函数会以字典类型返回当前位置的全部局部变量balls = []for i in range(num):frame = pygame.image.load(imgs_list_to_animate[i])frame = pygame.transform.scale(frame, tuple(animation_size), )names['bg_image%s' % i] = frameballs.append(names['bg_image%s' % i])# 第一组文字color_green = (255, 0, 0)# 创建一个Font对象,其中LOWRBI__.TTF为下载的字体库fontObj = pygame.font.SysFont('宋体', 20)# 创建一个存放文字surface对象,textSurfaceObj = fontObj.render(u'Start Frame', False, color_green)# 文字图像位置textRectObj = textSurfaceObj.get_rect()# print("Press 'D' to exit...")running = Truewhile running:print('balls num=', len(balls)) # balls num= 70events = pygame.event.get()print('events num=', len(events))for i in range(num):window.blit(balls[i], (0, 0))if i == 0:window.blit(textSurfaceObj, textRectObj)print('i=%d/%d' % (i, num))pygame.display.update() # 刷新窗口for event in events:if event.type == KEYDOWN:if str(event.key) == '100': # 按 D 键(键码100)会立即退出当前动画显示程序# break # 这里用break不会起作用print('收到KEYDOWN按键:', str(event.key)) # str(event.key) 显示键码running = False --------# 检测 QUIT : 如果 QUIT, 终止主循环。这部分代码可以不用-------------elif event.type == QUIT:print('收到QUIT按键:', str(event.key))running = False --------# 检测 QUIT : 如果 QUIT, 终止主循环。这部分代码可以不用-------------if running == False: # 退出最内层 for event 循环breakif running == False: # 退出外层 for i in range循环breakif running == False: # 退出 pygame,作用与 pygame.init相反pygame.quit()
感谢:
https://stackoverflow.com/questions/19882415/closing-pygame-window
https://blog.csdn.net/feynman233/article/details/88827994
设置按键退出python pygame动画(animation)程序,python检测键盘按键相关推荐
- [c语言]在程序中检测键盘按键
如何在程序中检测键盘 首先 我们直接上代码 #include <conio.h> #include <stdio.h> int main() { while (1) { swi ...
- Php扫码签到功能怎么实现,python扫码签到程序python中如何定义类
什么是类? 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 什么是方法? 类中的函数即为方法 如何定义一个类? 定义类,语法格式如下: < ...
- python开发windows桌面程序,python开发windows桌面应用
为什么用Python开发桌面应用程序 1)wxWidgets是一个比MFC优雅的库,TortoiseCVS用wxWidges而不用MFC,就是因为wxWidgets好用,而不是为了可以移植. 2)Py ...
- 检测键盘按键的网格的交叉点
对应示例程序: measure_grid.hdev 目标:检测键盘按键的网格的交叉点 思路为: 1.读取图像 2.利用均值滤波 阈值分割 形态学处理 常用的Blob分析方法等, ...
- Python Pygame动画原理
Pygame动画原理 这是动画原理的第一节,首先需要游戏的最小系统,在此之后我就不再提游戏最小系统了,那是最基本的,可以看我的第一篇 所有代码.配套资源.讲解都在Github Coding-Notes ...
- python开发微信小程序-Python 开发者的微信小程序开发实践
导读 在知乎上,有人提问"如何使用 Python 开发微信小程序". 其实微信小程序作为一个前端的机制,Python 并不能插上边.只不过可以作为后端接口为微信小程序提供数据服务而 ...
- python能做什么程序-python都能做什么
一.python: Python具有丰富和强大的库.它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起.常见的一种应用情形是,使用Python快速生成程序的原型 ...
- python怎么编写重复程序,python重复执行怎么写
python如何用for循环控制多次执行一个自定义函数? 首先我定义一个取随机数的函数: import random def R(): print random #脚本里面直接这样写就好了import ...
- python人机对话_人机交互程序 python实现人机对话
人机交互程序 python实现人机对话 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: 人机交互程序 python实现人机对话.txt ] (友情提示:右键点上行txt文档名-& ...
最新文章
- 12C expdp issue
- ***WindowsXP常用的七种方法
- 首次看清体内所有癌症转移灶,深度学习方法立大功!中国留学生一作论文登《细胞》封面...
- vtigercrm安装
- 如何在Win7以上环境使用VC++6
- python中的shutil模块
- 秋高气爽FreeEIM
- 在TypeScript和ASP.NET Core中处理文件上传和受保护的下载
- 用gpu跑_免费用GPU跑深度学习模型——如何获得极链AI云A100显卡
- 鸿蒙系统nova3i,华为nova3i无惧大型手游:打造丝般顺滑娱乐体验
- Linux系统文件管理以及连接文件和inode简介
- 一个比较完整的短信接口帮助类参考
- 程序员面试中最常见的27个问题,拿走不谢
- 视频插帧论文阅读(一)——FLAVR
- 程序员业余时间修炼指南
- [2017BUAA软工助教]博客格式的详细说明
- Bootstrap-02 (前台开发框架)
- 高德地图地理编码和逆地理编码,以及逆地理编码的时候如何去掉省、市、镇
- 《细节决定成败》读后感
- 软件测试金字塔,软件测试金字塔
热门文章
- 从程序员角度谈谈为什么英雄联盟一区总是常常排队?
- mysql 列名大写_MySQL数据库表名、列名、别名区分大小写的问题
- Oracle排序重置,Oracle的sequence的重置-Oracle
- freenas mysql_测试freenas9.1搭建iscsi磁盘库
- iris数据集及简介
- java 类型检查_Java开发对象类型检查详细解析
- js 跳转到指定位置 高德地图_在H5页面内通过地址调起高德地图实现导航
- 中文语音朗读软件(read2u) v2.1 绿色
- 树莓派玩转机器人学习路线网盘资料
- 马斯克嘲讽元宇宙:谁会整天戴着头显设备?