详解Python中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值

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

(0)

相关推荐

  • python基于pygame实现响应游戏中事件的方法(附源码)

    本文实例讲述了python基于pygame实现响应游戏中事件的方法.分享给大家供大家参考,具体如下: 先看一下我做的demo效果: 当玩家按下键盘上的:上,下,左,右键的时候,后台会打印出玩家所按键的数字值,而图形会随之移动 这是客观上面存在的现象. 那么啥是事件呢? 你叫我做出定义,我不知道,我只能举个例子说明,例如接下来的代码中,列出来一些关于游戏中的事件 ''' 事件 产生途径 参数 QUIT 用户按下关闭按钮 none ATIVEEVENT Pygame被激活或者隐藏 gain, sta

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

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

  • Python中pygame的mouse鼠标事件用法实例

    本文实例讲述了Python中pygame的mouse鼠标事件用法.分享给大家供大家参考,具体如下: pygame.mouse提供了一些方法获取鼠标设备当前的状态 ''' pygame.mouse.get_pressed - get the state of the mouse buttons get the state of the mouse buttons pygame.mouse.get_pos - get the mouse cursor position get the mouse c

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

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

  • 详解Python中Pygame键盘事件

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

  • 详解Python中键盘鼠标的相关操作

    目录 一.前言 二.pyautogui模块 三.鼠标相关操作 1.鼠标移动 2.获取鼠标位置 3.鼠标点击 4.按松鼠标 5.拖动窗口 6.上下滑动 7.小程序——鼠标操控术2.0 8.小程序——连点器 四.键盘相关操作 1.按键的按松 2.键入字符串 3.热键 4.小程序——轰炸器 5.小程序——520个我爱你 五.尾声 一.前言 恭喜你,学明白类,你已经学会所有基本知识了. 这章算是一个娱乐篇,十分简单,了解一下pyautogui模块,这算是比较好学还趣味性十足的,而且可以做许多小程序. 本

  • 详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别

    详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别 os._exit() 和 sys.exit() os._exit() vs sys.exit() 概述 Python的程序有两中退出方式:os._exit(), sys.exit().本文介绍这两种方式的区别和选择. os._exit()会直接将python程序终止,之后的所有代码都不会继续执行. sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那

  • 详解python中asyncio模块

    一直对asyncio这个库比较感兴趣,毕竟这是官网也非常推荐的一个实现高并发的一个模块,python也是在python 3.4中引入了协程的概念.也通过这次整理更加深刻理解这个模块的使用 asyncio 是干什么的? 异步网络操作并发协程 python3.0时代,标准库里的异步网络模块:select(非常底层) python3.0时代,第三方异步网络库:Tornado python3.4时代,asyncio:支持TCP,子进程 现在的asyncio,有了很多的模块已经在支持:aiohttp,ai

  • 详解Python中pyautogui库的最全使用方法

    在使用Python做脚本的话,有两个库可以使用,一个为PyUserInput库,另一个为pyautogui库.就本人而言,我更喜欢使用pyautogui库,该库功能多,使用便利.下面给大家介绍一下pyautogui库的使用方法.在cmd命令框中输入pip3 install pyautogui即可安装该库! 常用操作 我们在pyautogui库中常常使用的方法,如下: import pyautogui pyautogui.PAUSE = 1 # 调用在执行动作后暂停的秒数,只能在执行一些pyaut

  • 详解Python中第三方库Faker

    项目开发初期,为了测试方便,我们总要造不少假数据到系统中,尽量模拟真实环境. 比如要创建一批用户名,创建一段文本,电话号码,街道地址.IP地址等等. 平时我们基本是键盘一顿乱敲,随便造个什么字符串出来,当然谁也不认识谁. 现在你不要这样做了,用Faker就能满足你的一切需求. 1. 安装 pip install Faker 2. 简单使用 >>> from faker import Faker >>> fake = Faker(locale='zh_CN') >&

  • 详解python中的IO操作方法

    目录 python文件I/O raw_input函数 input函数 打开和关闭文件 open 函数 file对象的属性 close()方法 write()方法 read()方法 Python with open as函数 python文件I/O 打印到屏幕: 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式. 读取键盘输入: Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: raw_input input raw_input函数

  • 详解python中executemany和序列的使用方法

    详解python中executemany和序列的使用方法 一 代码 import sqlite3 persons=[ ("Jim","Green"), ("Hu","jie") ] conn=sqlite3.connect(":memory:") conn.execute("CREATE TABLE person(firstname,lastname)") conn.executeman

  • 详解 Python中LEGB和闭包及装饰器

    详解 Python中LEGB和闭包及装饰器 LEGB L>E>G?B L:local函数内部作用域 E:enclosing函数内部与内嵌函数之间 G:global全局作用域 B:build-in内置作用域 python 闭包 1.Closure:内部函数中对enclosing作用域变量的引用 2.函数实质与属性 函数是一个对象 函数执行完成后内部变量回收 函数属性 函数返回值 passline = 60 def func(val): if val >= passline: print (

  • 详解python中的文件与目录操作

    详解python中的文件与目录操作 一 获得当前路径 1.代码1 >>>import os >>>print('Current directory is ',os.getcwd()) Current directory is D:\Python36 2.代码2 如果将上面的脚本写入到文件再运行 Current directory is E:\python\work 二 获得目录的内容 Python代码 >>> os.listdir (os.getcwd

随机推荐