按键映射_第三章 中文注释及按键相关
忙了几天,又累了个周末,紧接着又出差,心塞...
今天跟大家一起学习一下中文注释及按键相关方面的知识。
一、中文注释
首先把上一章的代码粘贴上来
import sys, pygame
pygame.init()screen = pygame.display.set_mode((320, 240))
black = (0, 0, 250)while 1:for event in pygame.event.get():if event.type == pygame.KEYDOWN:if event.key == pygame.K_ESCAPE:sys.exit()screen.fill(black)pygame.display.flip()
刚接触代码的童鞋(比如我)很容易被鸡肠文绕晕,毕竟不是母语。没事,我们可以用中文注释来标记,方便代码管理和维护,我知道你们想说尽量用英语注释,可谁叫咱英语差呢。
import sys, pygame # 导入所需库
pygame.init() # 初始化pygamescreen = pygame.display.set_mode((320, 240)) # 设置屏幕尺寸320*240
black = (0, 0, 250) # 定义背景色while 1:
"""主循环开始"""for event in pygame.event.get(): # 监听事件if event.type == pygame.KEYDOWN: # 监听按键按下事件if event.key == pygame.K_ESCAPE: # 监听ESC键按下sys.exit() # 程序退出screen.fill(black) # 背景色绘制屏幕pygame.display.flip() # 刷新屏幕
安全起见,丢进GS跑一遍。
哎,一点都不省心。
没事,我们还有度娘支援啊。查了一通发现是中文编码问题,只要在文件头加上# coding=utf-8这么一句就行了。更改后代码如下
# coding=utf-8import sys, pygame # 导入所需库
pygame.init() # 初始化pygamescreen = pygame.display.set_mode((320, 240)) # 设置屏幕尺寸320*240
black = (0, 0, 250) # 定义背景色while 1:
"""主循环开始"""for event in pygame.event.get(): # 监听事件if event.type == pygame.KEYDOWN: # 监听按键按下事件if event.key == pygame.K_ESCAPE: # 监听ESC键按下sys.exit() # 程序退出screen.fill(black) # 背景色绘制屏幕pygame.display.flip() # 刷新屏幕
顺便说一下,上述的utf-8可替换为GB2312 、GBK 、GB18030,对应的就是编码格式,然而无论我替换哪个...
不对啊大哥,你这不按套路出牌啊,你总不能每个地方都卡我几天吧?
又翻查了一通,还是找不出个所以然来,但是有一段话倒是给我一个思路:
首先,我们的注释中出现的中文字符应该是没问题的,都是常用字,不可能是上述几个编码格式未收录的情况,那就是标点符号的问题咯?
按这个思路,要么是井号(#)出问题要么是双引号(”)出问题,先保留井号试试。把代码更改如下:
# coding=utf-8import sys, pygame # 导入所需库
pygame.init() # 初始化pygamescreen = pygame.display.set_mode((320, 240)) # 设置屏幕尺寸320*240
black = (0, 0, 250) # 定义背景色while 1: # 主循环开始for event in pygame.event.get(): # 监听事件if event.type == pygame.KEYDOWN: # 监听按键按下事件if event.key == pygame.K_ESCAPE: # 监听ESC键按下sys.exit() # 程序退出screen.fill(black) # 背景色绘制屏幕pygame.display.flip() # 刷新屏幕
丢进GS,成功运行。
意思无法识别双引号???
这是什么鬼逻辑???不过我不想在这里卡太多时间,毕竟现阶段我们还没那么急切的需求双引号的长注释,中文注释功能已经可以实现,先这样吧,回头有时间再研究。
二,按键相关
接下来是按键映射的问题,根据GS的开发文档,其按键映射是这样纸滴:
上图中左下部分(LK1-LK5键)为扩展背板按键,部分机友貌似是没有这个部分的,而且不知道是不是我的版本问题,这部分扩展按键键值是相反的,意思是按shift键之前,LK1键对应的是h键,按shift键之后才对应home键。
将我们的代码扩展如下:
# coding=utf-8import sys, pygame # 导入所需库
pygame.init() # 初始化pygamescreen = pygame.display.set_mode((320, 240)) # 设置屏幕尺寸320*240
black = (0, 0, 250) # 定义背景色while 1: # 主循环开始for event in pygame.event.get(): # 监听事件if event.type == pygame.KEYDOWN: # 监听按键按下事件if event.key == pygame.K_ESCAPE: # 监听ESC键按下sys.exit() # 程序退出elif event.key == pygame.K_h: # 监听h键按下black = (0, 250, 0) # 重新定义背景色为绿elif event.key == pygame.K_k: # 监听k键按下black = (0, 0, 250) # 重新定义背景色为蓝screen.fill(black) # 背景色绘制屏幕pygame.display.flip() # 刷新屏幕
这样我们开机后运行程序,扑面而来的是满屏的心慌蓝,当你按住shift键(方向盘上方那个也可,扩展的LK3也可)再按B键,就会变成全屏的开心绿,松开shift键再按A键,心慌蓝又回来了。
对应键值如下(排名不分先后):
大家可以自己测试一下,今天就到这。
按键映射_第三章 中文注释及按键相关相关推荐
- Lync Server 2010的部署系列_第三章 证书、架构、DNS规划
Lync Server 2010的部署系列_第三章 证书.架构.DNS规划 一.证书规划 组件 使用者名称 使用者备用名称条目/顺序 证书颁发机构 (CA) 备注 边缘外部接口 Sip.Giantha ...
- c语言中,x-y,'105',ab,7f8那个是正确的,C语言程序设计_第三章 数据.ppt
C语言程序设计_第三章 数据 * 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型 学习运算符应注意 * 基本算术运算符: + - * / % 结合方向: ...
- 管理系统中计算机应用课件,管理系统中计算机应用_第三章课件.ppt
<管理系统中计算机应用_第三章课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<管理系统中计算机应用_第三章课件.ppt>文档请在天天文库搜索 ...
- OpenCV函数简记_第三章数字图像的滤波处理(方框,均值,高斯,中值和双边滤波)
系列文章目录 OpenCV函数简记_第一章数字图像的基本概念(邻域,连通,色彩空间) OpenCV函数简记_第二章数字图像的基本操作(图像读写,图像像素获取,图像ROI获取,图像混合,图形绘制) Op ...
- 《精通数据仓库设计》中英对照_第三章
<精通数据仓库设计>中英对照_第三章 第二部分 模型开发 数据仓库应该表示企业数据的各个方面,这些方面以主题域和业务数据模型开始.我们将在第3章使用一个假想的公司,指导一步一步地开发这两个 ...
- ArcGIS for Desktop入门教程_第三章_Desktop软件安装 - ArcGIS知乎-新一代ArcGIS问答社区...
原文:ArcGIS for Desktop入门教程_第三章_Desktop软件安装 - ArcGIS知乎-新一代ArcGIS问答社区 1 软件安装 1.1 安装前准备 请确认已经收到来自Esri中国( ...
- 屏幕输出语句_第三章 常用输入/输出函数
第三章 常用输入/输出函数 与其他高级语言一样, C语言的语句是用来向计算机系统发出操作指令的. 当我们提到输入时,这意味着要向程序填充一些数据.输入可以是以文件的形式或从命令行中进行.C 语言提供了 ...
- oracle体系三大文件,oracle 体系_第三章控制文件
第三章 控制文件 1.功能特点 记录数据库当前的物理状态 维护数据库的一致性,是一个二进制的小文件 在mount阶段被读取,记录rman备份的元数据 查看database控制文件的位置 Show pa ...
- )类 新建javafx程序时_第三章 第一个OpenCV的JavaFX应用程序.md
# 第三章 第一个OpenCV的JavaFX应用程序 --- ***注意***:我们假设您现在已经阅读了之前的教程.如果没有,请在[http://opencv-java-tutorials.readt ...
最新文章
- AI一分钟 | 小米MIX 2S将于3月27号发布,搭载骁龙845;张朝阳:在研究区块链 但相信AI的力量
- Swift中@IBDesignable/@IBInspectable的使用
- [WPF]winfom中ShowWPF新窗口时TextBox等控件无法输入问题解决方法 .
- Allegro跨分割检查
- Eclipse reports rendering library more recent than
- 前端学习(1608):react-router-dom基础
- c语言转换为python语言_python和c语言
- Kotlin学习笔记19 阶段复习1
- springBoot springSecurty: x-frame-options deny禁止iframe调用
- 用java或c语言编写真值表,离散数学C语言
- blp和biba属于哪种访问控制_技术分享 | 访问控制在工控安全中的应用
- RationRose UML建模工具
- 算法笔记方法论4 枚举法 详细笔记
- [现代控制理论]7_线性控制器设计_Linear Controller Design
- 黑客帝国主要人物解读
- 周 7 福利日:中奖名单公布
- 第三章、vb6的ByVal与ByRef详解
- Xshell如何连接虚拟机
- 集成运放虚短,虚断,虚地
- C语言例题:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。