当前位置:网站首页>【Pygame 学习笔记】7.事件
【Pygame 学习笔记】7.事件
2022-07-17 17:13:00 【Leleprogrammer】
从前面的6篇学习笔记中,我们不难发现,我们总要在Game中写入listen事件监听方法,这一篇学习笔记,我们来深入学习Pygame的事件监听需要使用到的pygame常量
pygame常量存储于pygame.locals模块中,我们可以这样导入
from pygame.locals import *这里,我把一些常用的pygame事件常量和用途总结成如下表格,供大家学习参考(对应的数值不同的版本可能会不一样,我的pygame版本是2.1.2)
| 常量 | ASCII | 解释 |
|---|---|---|
| K_BACKSPACE | \b | 退格 |
K_TAB | \t | tab |
| K_RETURN | \r | 回车 |
| K_PAUSE | 暂停 | |
| K_ESCAPE | ^[ | ESC按键 |
| K_SPACE | 空格 | |
| K_ASTERISK | * | 星号 |
| K_PLUS | + | 加号 |
| K_MINUS | - | 减号 |
| K_COMMA | , | 逗号 |
| K_PERIOD | . | 句号 |
| K_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_EXCLAIM | ! | 感叹号 |
| K_QUOTEDBL | " | 引号 |
| K_HASH | # | 井号 |
| K_DOLLAR | $ | 美元符号 |
| K_AMPERSAND | & | &符号 |
| K_LEFTPAREN | ( | 左括号 |
| K_RIGHTPAREN | ) | 右括号 |
| K_COLON | : | 冒号 |
| K_SEMICOLON | ; | 分号 |
| K_LESS | < | 小于号 |
| K_EQUALS | = | 等于号 |
| K_GREATER | > | 大于号 |
| K_QUESTION | ? | 问号 |
| K_AT | @ | @符号 |
| K_LEFTBRACKET | [ | 左中括号 |
| K_RIGHTBRACKET | ] | 右中括号 |
| K_BACKSLASH | \ | 反斜杠 |
| K_CARET | ^ | ^符号 |
| K_UNDERSCORE | _ | 下划线 |
| K_BACKQUOTE | ` | 点号 |
| 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 | 小键盘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 | \r | 小键盘 Enter |
| K_KP_EQUALS | = | 小键盘 = |
| K_UP | 方向键↑ | |
| K_DOWN | 方向键↓ | |
| K_LEFT | 方向键← | |
| K_RIGHT | 方向键→ | |
| K_INSERT | Insert按键 | |
| K_HOME | Home按键 | |
| K_END | End按键 | |
| K_PAGEUP | 向上翻页键 | |
| K_PAGEDOWN | 向下翻页键 | |
| 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_LSUPER | 左Windows徽标键 | |
| K_RSUPER | 右Windows徽标键 |
接下来是一些pygame.key下常用的一些方法:
pygame.key.get_focused() ->bool
如果正在接受用户的键盘输入则为true
pygame.key.get_pressed()
返回一个bool值的序列,表示键盘上的每个按键的状态,使用键常量值来索引数组,值True表示被按下
pygame.key.get_mods()
返回一个整数,表示所有修改键的位掩码,使用按位运算符,可以测试是否按下了特定的修饰键
pygame.key.set_mods()
临时设置按下了哪一些修饰键
pygame.key.set_repeat(延迟,间隔)
控制按键的重复方式
启用键盘重复时,按住的键将生成多个pygame.KEYDOWN事件。该delay参数是pygame.KEYDOWN发送第一个重复事件之前的毫秒数。之后,pygame.KEYDOWN将每interval 毫秒发送另一个事件。如果提供了一个值但没有提供delay一个interval值或为 0,则interval将设置为与 相同的值 delay。
要禁用键重复调用此函数,不带参数或delay 设置为 0。
如果延迟和间隔两个参数小于零,则抛出ValueError
pygame.key.get_repeat()
获取按键的重复值
pygame.key.name(键盘按钮id常量)
返回一个字符串,从键盘按钮id常量中获取按钮的描述性名称
pygame.key.key_code(name)
传入按钮的描述性名称,返回键盘按钮id常量
以上便是pygame事件监听的一些知识
制作不易,喜欢的话就点赞收藏+关注哦~
谢谢支持~
边栏推荐
- The active and standby cache of redis cluster is full, causing frequent active and standby switchover
- If you merge cells by Excel, export excelutils
- The difference and use between get request and post request
- Database daily question --- day 25: bank account summary II
- Dynamic memory planning
- Yu Meimei, Ji Gongdu
- 全球金融危机来袭,如何科学理性投资?2020-03-17
- RingBuffer
- 懒到骨子里了,我在CSDN写文章都懒得自己写了,基于selenium模拟写文章
- Flask源码分析(三):上下文
猜你喜欢

Li Hongyi machine learning 1 Introduction of this course

Logical operator 1 (Gretel software - Jiuye training)

Yu Meimei, Ji Gongdu

逻辑运算符1(阁瑞钛伦特软件-九耶实训)

虞美人·寄公度

MOF customized product | n-k2ti4o9/g-c3n4/uio-66 ternary composite | paper based au-aginse2-zif-8 Nanocomposite

Yunxi and Tencent cloud have reached a strategic cooperation to accelerate the expansion of the global live broadcast market

Label ball problem

Arbitrum Nova release! Create a low-cost and high-speed dedicated chain in the game social field

Acwing4405. 统计子矩阵
随机推荐
S32K148_ Can drive (bare metal development)
【Try to Hack】arp和arp欺骗
The active and standby cache of redis cluster is full, causing frequent active and standby switchover
最懂你的服装设计师是AI?让用户 “凭心意” 生成数字服装#Adidas OZWORLD
go web
Redis logical cluster creation
In depth sorting: summary of machine learning modeling and parameter adjustment methods
mysql数据库表增添字段,删除字段、修改字段的排列等操作,还不快来
Ultrasonic sensor (ch101 & ch201) - I
竞赛笔记:Numpy学习笔记
OSSImport迁移之路
CMOS开关学习(一)
水调歌头·明月几时有
O & M LITTLE WHITE Growth record - architecture week 6
GO 单元测试
Chitosan coated pcn224 nanoparticles | metal organic skeleton fe-mil-88nh2 | nickel based MOF material (Ni MOF / NF)
Differences between get requests and post requests and usage examples
最小交换次数
Arbitrum Nova release! Create a low-cost and high-speed dedicated chain in the game social field
Google developer community sharing - flutter animation sharing has been released