pygame 键盘事件的实践

目录
  • 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值

到此这篇关于pygame 键盘事件的实践的文章就介绍到这了,更多相关pygame 键盘事件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Python中Pygame键盘事件

    Pygame事件 pygame.event.EventType ''' • 事件本质上是一种封装后的数据类型(对象) • EventType是Pygame的一个类,表示事件类型 • 事件类型只有属性,没有方法 • 用户可自定义新的事件类型 ''' 事件类型及属性 事件处理函数 键盘事件及类型的使用 键盘事件及属性 pygame.event.KEYDOWN #键盘按下事件 pygame.event.KEYUP #键盘释放事件 event.unicode #按键的unicode码,平台有关,不推荐使

  • pygame实现键盘的连续监控

    pygame对键盘的连续监听,供大家参考,具体内容如下 大家请看下面这一段代码: for event in pygame.event.get(): if event.type == pygame.QUIT: exit() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_RIGHT: print("右") if event.key == pygame.K_UP: print("上") if eve

  • pygame游戏之旅 添加键盘按键的方法

    本文为大家分享了pygame游戏之旅的第4篇,供大家参考,具体内容如下 按键类型用event.type表示,按键用event.key表示 KEYDOWN和KEYUP的参数描述如下: key – 按下或者放开的键值,是一个数字,估计地球上很少有人可以记住,所以Pygame中可以使用K_xxx来表示,比如字母a就是K_a,还有K_SPACE和K_RETURN等. mod – 包含了组合键信息,如果mod & KMOD_CTRL是真的话,表示用户同时按下了Ctrl键.类似的还有KMOD_SHIFT,K

  • pygame实现键盘和鼠标事件的处理

    所谓事件,就是程序上发生的事.例如用户按下键盘上的某个键或者单击.移动鼠标,对于这些事件,游戏程序需要作出反应.如< pygame 图像/图形绘制>中例子,程序会一直运行下去,直到用户关闭窗口而产生一个 QUIT 事件,pygame 会接收用户的各种操作(例如按键盘上的键.移动鼠标等)产生事件.事件随时可能发生,而且量可能会很大,pygame 的做法是把一系列的事件存放到一个队列里逐个处理. 在上节例子中使用了 pygame.event.get() 来处理所有事件,如果使用 pygame.ev

  • 详解pygame捕获键盘事件的两种方式

    方式1:在pygame中使用pygame.event.get()方法捕获键盘事件,使用这个方式捕获的键盘事件必须要是按下再弹起才算一次. 示例示例: for event in pygame.event.get(): # 捕获键盘事件 if event.type == pygame.QUIT: # 判断按键类型 print("按下了退出按键") 方式2:在pygame中可以使用pygame.key.get_pressed()来返回所有按键元组,通过判断键盘常量,可以在元组中判断出那个键被

  • pygame 键盘事件的实践

    目录 Pygame事件 事件类型及属性 事件处理函数 键盘事件及类型的使用 键盘事件及属性 什么是事件呢?按下键盘某个按键,鼠标移动,包括点击关闭按钮都可以算是事件操作. Pygame事件 pygame.event.EventType ''' • 事件本质上是一种封装后的数据类型(对象) • EventType是Pygame的一个类,表示事件类型 • 事件类型只有属性,没有方法 • 用户可自定义新的事件类型 ''' 事件类型及属性 事件处理函数 键盘事件及类型的使用 键盘事件及属性 pygame

  • Pygame Event事件模块的详细示例

    目录 事件类型 事件处理方法 处理键盘事件 处理鼠标事件 事件(Event)是 Pygame 的重要模块之一,它是构建整个游戏程序的核心,比如鼠标点击.键盘敲击.游戏窗口移动.调整窗口大小.触发特定的情节.退出游戏等等,这些都可以看做是"事件",Pygame 会接受用户产生的各种操作(或事件),这些操作随时产生,并且操作量可大可小,那么 Pygame 是如何处理这些事件的呢? 事件类型 Pygame 定义了一个专门用来处理事件的结构,即事件队列,该结构遵循遵循队列"先到先处理

  • jquery 键盘事件的使用方法详解

    jquery 键盘事件的使用方法详解 jQuery处理键盘事件有三个函数,根据事件发生的顺序分别是: jquery 代码: 1.  keydown(); 2.  keyup();  3.  keypress(); keydown() keydown事件会在键盘按下时触发,可以在绑定的函数中欧能够返回false来防止触发浏览器的默认事件. keyup() keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件. keypress() keypress事件会在敲击按键时触发,我们可以理解为按

  • Vue键盘事件用法总结

    这两天学习了Vue.js 感觉组件这个地方知识点挺多的,而且很重要,所以,今天添加一点小笔记,学习一下Vue键盘事件 键盘事件 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="../js/Vue.js" charset="utf-8"></sc

  • Kibo 用于处理键盘事件的Javascript工具库

    入门 Kibo不依赖任何东西.你只要把它放到你的HTML代码里就行了: 复制代码 代码如下: <script type="text/javascript" src="kibo.js"></script> 下载 kibo.js 创建一个Kibo对象实例,事件监听器就建立起来了: 复制代码 代码如下: var k = new Kibo(); Kibo对象的构造器有一个可选参数--你指定的接收事件的HTML元素.可以是input, textarea

  • Angularjs的键盘事件的绑定

    Angularjs的键盘事件的绑定 推荐button 方法一:ng内置指令 <button ng-click="login()" ng-keypress="todoSomething($event)" class="btn btn-success btn-lg" ng-disabled="loginForm.$invalid"> 登录 </button> 说明:在对应的控制器中的$scope上绑定一个t

  • Flex 自动获取焦点 监听全局键盘事件

    这是<Flex第一步>QQ群里面一个朋友问我的问题,特此拿出分享一下.或许问题比较简单,还是将其记录一下比较好. 需求如下: 当AIR启动后,监听全局键盘事件,即this.addEventListener( KeyboardEvent.KEY_DOWN, keydownHandler ); 运行后效果: 当AIR运行后,虽然正确监听了KeyboardEvent.KEY_DOWN event,但是必须要鼠标点击一下AIR才可以获取keydownHandler. 原因: 1.keydownHand

  • Python利用pyHook实现监听用户鼠标与键盘事件

    本文以一段简单的监听鼠标.键盘事件的程序,实现获取用户的输入(比如登录某些网站的账号.密码)的功能.经测试,对于一台"裸奔"的电脑,完全能获取到用户输入的任何信息:但是如果安装了杀毒软件,就够呛了.具体实现方法如下: 一.代码部分:获取用户输入信息,并与截图一起保存到XX目录下 # -*- coding: utf-8 -*- # import pythoncom import pyHook import time import socket from PIL import ImageG

随机推荐