python键盘事件_Python之pygame学习键盘事件操作(9)
pygame键盘事件操作
✕
什么是事件呢?按下键盘某个按键,鼠标移动,包括点击关闭按钮都可以算是事件操作。
pygame中事件模块是pygame.event,官方说法是用于与事件和队列进行交互。
不用学习太多,主要学习下常用即可;
pygame.event.get从队列中获取事件
之前我们就一直在用事件处理,那就是我们每次代码都带上的退出;for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit(0)
如果没有任何输入的情况下 event.get()返回的是个空列表
我们点击关闭pygame的窗口返回的事件是
[]
我们可以 遍历列表获取内部数据,
可以查看数据的类型是否是pygame的某种类型,比如退出
如果是这种类型的话,我们可以执行相对于的操作。
我们来说下键盘操作elif event.type == pygame.KEYDOWN :
if event.key == pygame.K_UP:
y -= 1
在事件中判断类型是否是 pygame.KEYDOWN
判断键位是否是我们需要的那个键位
执行对应的操作
但是上面这中操作有个问题就是,我们每次按下这个键之后只能执行一次操作;
我们要移动对象的时候想要按下后连续移动,
我们就需要用到 pygame.key 这个是在pygame 2.0的新功能
该模块包含处理键盘的功能。
按下和释放键盘按钮时,事件队列获取pygame.KEYDOWN和pygame.KEYUP事件。两个事件都有一个键属性,它是表示键盘上每个键的整数ID。
该pygame.KEYDOWN事件具有其他属性unicode和 scancode。unicode表示单个字符串,即输入的完全翻译字符。这考虑了移位和组合键。scancode表示特定于平台的密钥代码。这可能与键盘不同,但对于像多媒体键这样的奇怪键的键选择很有用。
pygame.KEYDOWN。该属性text包含输入。
有许多键盘常量,它们用于表示键盘上的键。以下是所有键盘常量的列表:KeyASCII ASCII Common Name
K_BACKSPACE \b backspace
K_TAB \t tab
K_CLEAR clear
K_RETURN \r return
K_PAUSE pause
K_ESCAPE ^[ escape
K_SPACE space
K_EXCLAIM ! exclaim
K_QUOTEDBL " quotedbl
K_HASH # hash
K_DOLLAR $ dollar
K_AMPERSAND & ampersand
K_QUOTE quote
K_LEFTPAREN ( left parenthesis
K_RIGHTPAREN ) right parenthesis
K_ASTERISK * asterisk
K_PLUS + plus sign
K_COMMA , comma
K_MINUS - minus sign
K_PERIOD . period
K_SLASH / forward slash
K_0 0 0
K_1 1 1
K_2 2 2
K_3 3 3
K_4 4 4
K_5 5 5
K_6 6 6
K_7 7 7
K_8 8 8
K_9 9 9
K_COLON : colon
K_SEMICOLON ; semicolon
K_LESS < less-than sign
K_EQUALS = equals sign
K_GREATER > greater-than sign
K_QUESTION ? question mark
K_AT @ at
K_LEFTBRACKET [ left bracket
K_BACKSLASH \ backslash
K_RIGHTBRACKET ] right bracket
K_CARET ^ caret
K_UNDERSCORE _ underscore
K_BACKQUOTE ` grave
K_a a a
K_b b b
K_c c c
K_d d d
K_e e e
K_f f f
K_g g g
K_h h h
K_i i i
K_j j j
K_k k k
K_l l l
K_m m m
K_n n n
K_o o o
K_p p p
K_q q q
K_r r r
K_s s s
K_t t t
K_u u u
K_v v v
K_w w w
K_x x x
K_y y y
K_z z z
K_DELETE delete
K_KP0 keypad 0
K_KP1 keypad 1
K_KP2 keypad 2
K_KP3 keypad 3
K_KP4 keypad 4
K_KP5 keypad 5
K_KP6 keypad 6
K_KP7 keypad 7
K_KP8 keypad 8
K_KP9 keypad 9
K_KP_PERIOD . keypad period
K_KP_DIVIDE / keypad divide
K_KP_MULTIPLY * keypad multiply
K_KP_MINUS - keypad minus
K_KP_PLUS + keypad plus
K_KP_ENTER \r keypad enter
K_KP_EQUALS = keypad equals
K_UP up arrow
K_DOWN down arrow
K_RIGHT right arrow
K_LEFT left arrow
K_INSERT insert
K_HOME home
K_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 numlock
K_CAPSLOCK capslock
K_SCROLLOCK scrollock
K_RSHIFT right shift
K_LSHIFT left shift
K_RCTRL right control
K_LCTRL left control
K_RALT right alt
K_LALT left alt
K_RMETA right meta
K_LMETA left meta
K_LSUPER left Windows key
K_RSUPER right Windows key
K_MODE mode shift
K_HELP help
K_PRINT print screen
K_SYSREQ sysrq
K_BREAK break
K_MENU menu
K_POWER power
K_EURO Euro
键盘还有一个修饰符状态列表,可以通过按位对它们进行组合来组装。KMOD_NONE, KMOD_LSHIFT, KMOD_RSHIFT, KMOD_SHIFT, KMOD_CAPS,
KMOD_LCTRL, KMOD_RCTRL, KMOD_CTRL, KMOD_LALT, KMOD_RALT,
KMOD_ALT, KMOD_LMETA, KMOD_RMETA, KMOD_META, KMOD_NUM, KMOD_MODE
获取所有键盘按钮的状态
pygame.key.get_pressed()——返回一系列布尔值,表示键盘上每个键的状态。使用键常量值来索引数组。True值表示按下该按钮。
我们可以判断这个按键是否为真,如果为真则表示按下这个按键key_list = pygame.key.get_pressed()
if key_list[pygame.K_UP]:
y -= 1
elif key_list[pygame.K_DOWN]:
y += 1
elif key_list[pygame.K_LEFT]:
x -= 1
elif key_list[pygame.K_RIGHT]:
x += 1
这样的话,我们按下某个按键不松开的时候就可以一直移动某个对象了。
python键盘事件_Python之pygame学习键盘事件操作(9)相关推荐
- python pygame模块按键延迟_Python之pygame学习键盘事件操作(9)
pygame键盘事件操作 ✕ 什么是事件呢?按下键盘某个按键,鼠标移动,包括点击关闭按钮都可以算是事件操作. pygame中事件模块是pygame.event,官方说法是用于与事件和队列进行交互. 不 ...
- python鼠标事件_Python之pygame的鼠标事件
鼠标 当显示模式设置后,事件队列就会开始收到鼠标事件.当按下和释放鼠标的按键时,会产生 pygame.MOUSEBUTTONDOWN和pygame.MOUSEBUTTONUP事件.这些事件包含一个bu ...
- python 捕获鼠标点击事件_Python捕捉和模拟鼠标事件的方法
本文实例讲述了Python捕捉和模拟鼠标事件的方法.分享给大家供大家参考.具体分析如下: 这个假期玩了不少galgame,不过有些很老的游戏没有自动运行模式,点击鼠标又太伤按键了,于是想把滚动鼠标滚轮 ...
- python怎样画动态文字_Python之pygame学习绘制文字制作滚动文字
pygame绘制文字 ✕ 今天来学习绘制文本内容,毕竟游戏中还是需要文字对玩家提示一些有用的信息. 字体常用的不是很多,在pygame中大多用于提示文字,或者记录分数等事件. 字体绘制基本分为以下几个 ...
- python keyboard库_python库 pywinio虚拟键盘使用
NOTICE: You must have a ps/2 keyboard connected to your PC if you test on win10 or later, otherwise ...
- python 控制鼠标和键盘输入_python:控制鼠标和键盘
# #_*_ coding:UTF-8 _*_ importwin32apiimportwin32conimportwin32guifrom ctypes import * importtime VK ...
- python获取游戏窗口_python中pygame针对游戏窗口的显示方法实例分析(附源码)
本文实例讲述了python中pygame针对游戏窗口的显示方法.分享给大家供大家参考,具体如下: 在这篇教程中,我将给出一个demo演示: 当我们按下键盘的'f'键的时候,演示的窗口会切换到全屏显示和 ...
- 学python工作中_Python -- 我工作学习中的好帮手
最近在工作中,我需要在Solaris上写很多测试或者辅助工作的脚本.因为单位只推荐使用Perl或者Python,所以我不能选择我最喜欢的Ruby,当然我不会去选择Perl(不是说Perl不好,只是我不 ...
- python引流_Python为什么值得学习?(下)
「我能用Python做什么事呢?」「Python为什么这么红?」 关于这些问题,上次已经谈过一些,还没看过上篇的朋友请笑纳- 「我能用Python做什么事呢?」「Python为什么这么红?」 相信这些 ...
最新文章
- numpy批量iou
- bootstrap学习笔记(1)基础段落,表格的实现
- 计算机机房工程规划方案,机房工程规划书文档.docx
- 跟我学android-Notification
- 2016年小升初海淀区全部初中排名分析
- 数学建模论文写作方法
- Windows XP中的通用即插即用
- snmp v3 参数_SNMPv3 配置及snmpwalk命令信息获取
- ifonts提取下载ttf文件
- Visual Studio 2015 中文社区版下载
- WordPress插件 UberGrid 高级相册图片分享中文插件[更新至v2.0.13]
- 工程数学 傅里叶变换 狄拉克函数
- 树莓派系列二:openCV之头像添加国旗
- 如何一键关闭win安全中心(Windows Defender )
- laravel Migration与Seeder的用法
- 利用google地图获取位置经纬度坐标
- Qt5 QFileDialog中文英文交界处乱码问题
- C语言编程-7_4 字符统计
- 百度Apollo自动驾驶_百度车载小程序
- python练习-给数组去重后元素的加序号
热门文章
- 游戏中的人工智能(一)
- Mellanox IB卡 虚拟化
- 昨夜MSN上偶遇伊人
- 智慧工地核心产品——未冲洗抓拍
- oracle 10046跟踪自己,使用oracle的10046事件跟踪SQL语句
- Cesium获取延长线
- 基于SpringBoot+vue的网上图书商城系统设计和实现
- 为什么Harris角点检测用特征值? 为什么Harris像素值变化量矩阵代表椭圆?【OpenCV】【计算机视觉】
- 贡院赶考品“怪”美食 海内外家庭千年古城寻年味
- 前端每日实战:125# 视频演示如何用纯 CSS 创作一个失落的人独自行走的动画...