功能:设置按键退出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检测键盘按键相关推荐

  1. [c语言]在程序中检测键盘按键

    如何在程序中检测键盘 首先 我们直接上代码 #include <conio.h> #include <stdio.h> int main() { while (1) { swi ...

  2. Php扫码签到功能怎么实现,python扫码签到程序python中如何定义类

    什么是类? 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 什么是方法? 类中的函数即为方法 如何定义一个类? 定义类,语法格式如下: < ...

  3. python开发windows桌面程序,python开发windows桌面应用

    为什么用Python开发桌面应用程序 1)wxWidgets是一个比MFC优雅的库,TortoiseCVS用wxWidges而不用MFC,就是因为wxWidgets好用,而不是为了可以移植. 2)Py ...

  4. 检测键盘按键的网格的交叉点

    对应示例程序: measure_grid.hdev 目标:检测键盘按键的网格的交叉点 思路为:       1.读取图像       2.利用均值滤波 阈值分割 形态学处理 常用的Blob分析方法等, ...

  5. Python Pygame动画原理

    Pygame动画原理 这是动画原理的第一节,首先需要游戏的最小系统,在此之后我就不再提游戏最小系统了,那是最基本的,可以看我的第一篇 所有代码.配套资源.讲解都在Github Coding-Notes ...

  6. python开发微信小程序-Python 开发者的微信小程序开发实践

    导读 在知乎上,有人提问"如何使用 Python 开发微信小程序". 其实微信小程序作为一个前端的机制,Python 并不能插上边.只不过可以作为后端接口为微信小程序提供数据服务而 ...

  7. python能做什么程序-python都能做什么

    一.python: Python具有丰富和强大的库.它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起.常见的一种应用情形是,使用Python快速生成程序的原型 ...

  8. python怎么编写重复程序,python重复执行怎么写

    python如何用for循环控制多次执行一个自定义函数? 首先我定义一个取随机数的函数: import random def R(): print random #脚本里面直接这样写就好了import ...

  9. python人机对话_人机交互程序 python实现人机对话

    人机交互程序 python实现人机对话 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: 人机交互程序 python实现人机对话.txt ] (友情提示:右键点上行txt文档名-& ...

最新文章

  1. 12C expdp issue
  2. ***WindowsXP常用的七种方法
  3. 首次看清体内所有癌症转移灶,深度学习方法立大功!中国留学生一作论文登《细胞》封面...
  4. vtigercrm安装
  5. 如何在Win7以上环境使用VC++6
  6. python中的shutil模块
  7. 秋高气爽FreeEIM
  8. 在TypeScript和ASP.NET Core中处理文件上传和受保护的下载
  9. 用gpu跑_免费用GPU跑深度学习模型——如何获得极链AI云A100显卡
  10. 鸿蒙系统nova3i,华为nova3i无惧大型手游:打造丝般顺滑娱乐体验
  11. Linux系统文件管理以及连接文件和inode简介
  12. 一个比较完整的短信接口帮助类参考
  13. 程序员面试中最常见的27个问题,拿走不谢
  14. 视频插帧论文阅读(一)——FLAVR
  15. 程序员业余时间修炼指南
  16. [2017BUAA软工助教]博客格式的详细说明
  17. Bootstrap-02 (前台开发框架)
  18. 高德地图地理编码和逆地理编码,以及逆地理编码的时候如何去掉省、市、镇
  19. 《细节决定成败》读后感
  20. 软件测试金字塔,软件测试金字塔

热门文章

  1. 从程序员角度谈谈为什么英雄联盟一区总是常常排队?
  2. mysql 列名大写_MySQL数据库表名、列名、别名区分大小写的问题
  3. Oracle排序重置,Oracle的sequence的重置-Oracle
  4. freenas mysql_测试freenas9.1搭建iscsi磁盘库
  5. iris数据集及简介
  6. java 类型检查_Java开发对象类型检查详细解析
  7. js 跳转到指定位置 高德地图_在H5页面内通过地址调起高德地图实现导航
  8. 中文语音朗读软件(read2u) v2.1 绿色
  9. 树莓派玩转机器人学习路线网盘资料
  10. 马斯克嘲讽元宇宙:谁会整天戴着头显设备?