pygame 键盘事件的实践
作者:咸鱼箘 发布时间:2023-09-29 18:56:10
标签:pygame,键盘
什么是事件呢?按下键盘某个按键,鼠标移动,包括点击关闭按钮都可以算是事件操作。
Pygame事件
pygame.event.EventType
'''
• 事件本质上是一种封装后的数据类型(对象)
• EventType是Pygame的一个类,表示事件类型
• 事件类型只有属性,没有方法
• 用户可自定义新的事件类型
'''
事件类型及属性
事件处理函数
键盘事件及类型的使用
键盘事件及属性
pygame.event.KEYDOWN #键盘按下事件
pygame.event.KEYUP #键盘释放事件
event.unicode #按键的unicode码,平台有关,不推荐使用
event.key # 按键的常量名称
event.mod # 按键修饰符的组合值
常量 | 描述 |
---|---|
K_BACKSPACE | 退格键(Backspace) |
K_TAB | 制表键(Tab) |
K_CLEAR | 清除键 |
K_RETURN | 回车键(Enter) |
K_PAUSE | 暂停键 (Pause) |
K_ESCAPE | 退出键(Escape) |
K_SPACE | 空格键 (Space) |
K_EXCLAIM | 感叹号 |
K_QUOTEDBL | 双引号 |
K_HASH | 井号 |
K_DOLLAR | 美元符号 |
K_AMPERSAND | and 符号 |
K_QUOTE | 单引号 |
K_LEFTPAREN | 左小括号 |
K_RIGHTPAREN | 右小括号 |
K_ASTERISK | 星号 |
K_PLUS | 加号 |
K_COMMA | 逗号 |
K_MINUS | 减号 |
K_PERIOD | 句号 |
K_SLASH | 正斜杠 |
K_0 | 0 |
K_1 | 1 |
K_2 | 2 |
K_3 | 3 |
K_4 | 4 |
K_5 | 5 |
K_6 | 6 |
K_7 | 7 |
K_8 | 8 |
K_9 | 9 |
K_COLON | 冒号 |
K_SEMICOLON | 分号 |
K_LESS | 小于号 |
K_EQUALS | 等于号 |
K_GREATER | 大于号 |
K_QUESTION | 问号 |
K_AT | @ 符号 |
K_LEFTBRACKET | 左中括号 |
K_BACKSLASH | 反斜杠 |
K_RIGHTBRACKET | 右中括号 |
K_CARET | 脱字符 |
K_UNDERSCORE | 下划线 |
K_BACKQUOTE | 重音符 |
K_a | a |
K_b | b |
K_c | c |
K_d | d |
K_e | e |
K_f | f |
K_g | g |
K_h | h |
K_i | i |
K_j | j |
K_k | k |
K_l | l |
K_m | m |
K_n | n |
K_o | o |
K_p | p |
K_q | q |
K_r | r |
K_s | s |
K_t | t |
K_u | u |
K_v | v |
K_w | w |
K_x | x |
K_y | y |
K_z | z |
K_DELETE | 删除键(delete) |
K_KP0 | 0(小键盘) |
K_KP1 | 1(小键盘) |
K_KP2 | 2 (小键盘) |
K_KP3 | 3(小键盘) |
K_KP4 | 4(小键盘) |
K_KP5 | 5 (小键盘) |
K_KP6 | 6 (小键盘) |
K_KP7 | 7 (小键盘) |
K_KP8 | 8 (小键盘) |
K_KP9 | 9 (小键盘) |
K_KP_PERIOD | 句号(小键盘) |
K_KP_DIVIDE | 除号(小键盘) |
K_KP_MULTIPLY | 乘号(小键盘) |
K_KP_MINUS | 减号(小键盘) |
K_KP_PLUS | 加号(小键盘) |
K_KP_ENTER | 回车键(小键盘) |
K_KP_EQUALS | 等于号(小键盘) |
K_UP | 向上箭头(up arrow) |
K_DOWN | 向下箭头(down arrow) |
K_RIGHT | 向右箭头(right arrow) |
K_LEFT | 向左箭头(left arrow) |
K_INSERT | 插入符(insert) |
K_HOME | Home 键(home) |
K_END | End 键(end) |
K_PAGEUP | 上一页(page up) |
K_PAGEDOWN | 下一页(page down) |
K_F1 | F1 |
K_F2 | F2 |
K_F3 | F3 |
K_F4 | F4 |
K_F5 | F5 |
K_F6 | F6 |
K_F7 | F7 |
K_F8 | F8 |
K_F9 | F9 |
K_F10 | F10 |
K_F11 | F11 |
K_F12 | F12 |
K_F13 | F13 |
K_F14 | F14 |
K_F15 | F15 |
K_NUMLOCK | 数字键盘锁定键 |
K_CAPSLOCK | 大写字母锁定键 |
K_SCROLLOCK | 滚动锁定键 |
K_RSHIFT | 右边的 shift 键 |
K_LSHIFT | 左边的 shift 键 |
K_RCTRL | 右边的 ctrl 键 |
K_LCTRL | 左边的 ctrl 键 |
K_RALT | 右边的 alt 键 |
K_LALT | 左边的 alt 键 |
K_RMETA | 右边的元键 |
K_LMETA | 左边的元键 |
K_LSUPER | 左边的 Window 键 |
K_RSUPER | 右边的 Window 键 |
K_MODE | 模式转换键 |
K_HELP | 帮助键 |
K_PRINT | 打印屏幕键 |
K_SYSREQ | 魔术键 |
K_BREAK | 中断键 |
K_MENU | 菜单键 |
K_POWER | 电源键 |
K_EURO | 欧元符号 |
按键的修饰符
常量 | 描述 |
---|---|
KMOD_NONE | 没同时按下组合键 |
KMOD_LSHIFT | 同时按下左边的 shift 键 |
KMOD_RSHIFT | 同时按下右边的 shift 键 |
KMOD_SHIFT | 同时按下 shift 键 |
KMOD_CAPS | 同时按下大写字母锁定键 |
KMOD_LCTRL | 同时按下左边的 ctrl 键 |
KMOD_RCTRL | 同时按下右边的 ctrl 键 |
KMOD_CTRL | 同时按下 ctrl 键 |
KMOD_LALT | 同时按下左边的 alt 键 |
KMOD_RALT | 同时按下右边的 alt 键 |
KMOD_ALT | 同时按下 alt 键 |
KMOD_LMETA | 同时按下左边的元键 |
KMOD_RMETA | 同时按下右边的元键 |
KMOD_META | 同时按下元键 |
KMOD_NUM | 同时按下数字键盘锁定键 |
KMOD_MODE | 同时按下模式转换键 |
按键的修饰符
event.mod
'''
修饰符的按位或运算
event.mod = KMOD_ALT | KMOD_SHIFT
'''
代码测试
import pygame,sys
pygame.init()
s = pygame.display.set_mode((600,400))
pygame.display.set_caption("hi 键盘")
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.unicode == "":
print("#",event.key,event.mod)
else:
print(event.unicode,event.key,event.mod)
pygame.display.update()
获取按键的unicode值
来源:https://blog.csdn.net/weixin_45020839/article/details/117886708
0
投稿
猜你喜欢
- 如下图所示:单击Edit Code打开Code信息如下:经查Data at the root level is invalid是XML文件的
- 1、算术运算符:+、-、*、/、%。2、递增/递减运算符:如$a++,$a--,++$a,--$a.如:<?php$a=10;$b=5
- 冷备份是数据库文件的物理备份,通常在数据库通过一个shutdown normal或shutdown immediate 命令正常关闭后进行。
- javascript 代码实现vbscript中的trim、left、right等函数兼容IE,FireFox。<style>b
- 很多组织机构慢慢的在不同的服务器和地点部署SQL Server数据库——为各种应用和目的&m
- 问题:我们每天都要编写一些Python程序,或者用来处理一些文本,或者是做一些系统管理工作。程序写好后,只需要敲下python命令,便可将程
- 1.效果图:2.代码# 作用域 是 对象生效的区域(对象能被使用的区域)# 全局作用域在任意位置可生效# 局部作用域在函数内生效c = 20
- 如下所示:# coding = utf-8import requestsimport jsonhost = "http://47.
- 1.批量处理所谓的批处理就是批量处理cmd里面的命令。python要想实现批处理功能需要导入os库,然后利用批处理的命令为os.system
- 管理认证系统最简单的方法是通过管理界面。然而,当你需要绝对的控制权的时候,有一些低层 API 需要深入专研,我们将在下面的章节中讨论它们。创
- 以上述图片举例,要求 相对 的顺时针夹角。注意:这里使用图像坐标系1 定义求顺时针角度的函数 import numpy as npdef
- 最近尝试了mysql的最新版本5.5.581.最新发布的mysql 5.5.8没有适合solaris 9的版本;这个在安装时需要注意2.它发
- 一、卷积神经网络的概述卷积神经网络(ConvolutionalNeural Network,CNN)最初是为解决图像识别等问题设计的,CNN
- 作为互联网产品设计师,在和前端开发人员沟通时你是否常常会听到这样的声音: —— “大姐,给点专业精神好不好,这个表格是自适应的,你
- nonzero函数返回非零元素的目录。返回值为元组, 两个值分别为两个维度, 包含了相应维度上非零元素的目录值。 import
- 简介使用Pandas的pivot方法可以将DF进行旋转变换,本文将会详细讲解pivot的秘密。使用Pivotpivot用来重组DF,使用指定
- Oracle shutdown的时候突然断电,导致使用sql/plus启动时无法连接到数据库,具体描述为:connection can no
- 在网上查了部分资料但是发现粘上去的代码都存在问题,无奈只好自己修改了一下,代码如下: 如下代码能正常运行,都是网上查找资料最后拼凑总结出来的
- 一直想了解Web编程的技术。PHP是进行Web编程重要的一种语言,书上总是说,PHP是用于服务器端的编程语言。但是,实在不能理解它是怎么用于
- 本文实例讲述了PHPExcel冻结(锁定)表头的简单实现方法。分享给大家供大家参考,具体如下:PHPExcel是一款功能比较强大的操作微软e