我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用pygame如何捕获键盘事件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用pygame如何捕获键盘事件

使用pygame如何捕获键盘事件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

方式1:在pygame中使用pygame.event.get()方法捕获键盘事件,使用这个方式捕获的键盘事件必须要是按下再弹起才算一次。
示例示例:

for event in pygame.event.get(): # 捕获键盘事件  if event.type == pygame.QUIT: # 判断按键类型    print("按下了退出按键")

方式2:在pygame中可以使用pygame.key.get_pressed()来返回所有按键元组,通过判断键盘常量,可以在元组中判断出那个键被按下,如果被按下则元组中就会存在这个按键信息。通过这样的方式也可以捕获到键盘的事件,并且不需要按下再弹起的操作,一按下就会有响应,灵活性比较高。

示例代码:

mykeyslist = pygame.key.get_pressed() # 获取按键元组信息if mykeyslist[pygame.K_RIGHT]: # 如果按键按下,这个值为1  print("按下了方向右键")

总结:
两种方式的比较:方式1的灵活性没有方式2的好,如果对灵活性要求高的游戏,一般建议使用方式2。

pygame按键持续按下响应

在写一个pygame 的一个小的飞机大战程序但是碰到一个小问题,仅此记录

通过键盘事件操控飞机的左右移动:

elif event.type == KEYDOWN:    # 检测按键是否是a或者left     if event.key == K_a or event.key == K_LEFT:       plane_temp.move_left()

虽然能实现移动,但是每一次的移动都需要按一下按钮,使我感觉很难受

想实现可以持续按下,并且可以相应的效果

查资料发现

pygame.key.set_repeat() control how held keys are repeated
set_repeat() -> None set_repeat(delay, interval) -> None When the
keyboard repeat is enabled, keys that are held down will generate
multiple pygame.KEYDOWN events. The delay is the number of
milliseconds before the first repeated pygame.KEYDOWN will be sent.
After that another pygame.KEYDOWN will be sent every interval
milliseconds. If no arguments are passed the key repeat is disabled.

When pygame is initialized the key repeat is disabled.

按键是默认只能按下一次,于是就取了一个巧,查看哪些按键是已进按下的,后通过循环实现对应操作

key_pressed = pygame.key.get_pressed()  if key_pressed[pygame.K_a] or key_pressed[pygame.K_LEFT]    plane_temp.move_left()

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用pygame如何捕获键盘事件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用pygame如何捕获键盘事件

使用pygame如何捕获键盘事件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。方式1:在pygame中使用pygame.event.get()方法捕获键盘事件,
2023-06-14

pygame键盘事件如何实现

这篇文章主要介绍了pygame键盘事件如何实现,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Pygame事件pygame.event.EventType• 事件本质上是一种封
2023-06-25

python如何使用OpenCV捕获事件

这篇文章给大家分享的是有关python如何使用OpenCV捕获事件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、步骤说明定义关键事件;将包含事件的视频片段写入到视频文件;利用线程以确保在输入流和输出视频剪辑文
2023-06-15

jQuery如何监听键盘按键事件?

jQuery监听键盘按键事件jQuery提供了keydown、keypress和keyup事件处理程序来响应键盘按键事件。这些事件分别在按键按下、生成字符时按下和释放时触发。事件对象提供按键信息,如键码和按键名称。可以通过阻止默认行为来防止按键的浏览器操作。事件委派允许在动态创建的元素上监听事件。
jQuery如何监听键盘按键事件?
2024-04-08

如何理解Python 键盘事件

本篇文章给大家分享的是有关如何理解Python 键盘事件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。键盘事件废话不多说直接上包from selenium.webdriver.
2023-06-25

jQuery如何绑定键盘事件?

jQuery键盘事件指南jQuery提供了高效便捷的方法来处理键盘事件。使用key()事件可监听所有按键,而keydown()和keyup()事件则可分别监听按下和松开按键。通过检查event.keyCode,可以捕获特定按键。调用event.preventDefault()可防止默认行为。jQuery还支持组合事件和快捷键,使用shortcut()插件可轻松绑定快捷键。最佳实践包括避免过度绑定事件、使用事件委托、仅在需要时阻止默认行为并使用事件聚合技术。
jQuery如何绑定键盘事件?
2024-04-08

jQuery如何模拟键盘事件?

jQuery模拟键盘事件jQuery提供多种模拟键盘事件的方法,包括:trigger()方法:触发指定键盘事件(keydown、keypress、keyup)。simulateKeyPress()方法:模拟键盘按压事件,支持键、修饰键指定。keyUp()和keyDown()方法:分别触发keyup和keydown事件,适合模拟连续键盘输入。使用这些方法,开发者可以触发键盘事件,无需实际输入,方便测试或自动化任务。
jQuery如何模拟键盘事件?
2024-04-08

WPF双滑块控件如何使用和强制捕获鼠标事件焦点

这篇文章主要介绍了WPF双滑块控件如何使用和强制捕获鼠标事件焦点的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇WPF双滑块控件如何使用和强制捕获鼠标事件焦点文章都会有所收获,下面我们一起来看看吧。效果代码部分需
2023-07-02

jQuery如何监听键盘按键释放事件?

正文jQuery提供了keyup()方法和keydown()方法结合keyup()方法来监听键盘按键释放事件。keyup()方法在释放按键时触发,提供有关按键的信息(如ASCII码)。keydown()和keyup()方法结合使用可检测按键释放。事件对象包含按键信息(如ASCII码和按键名称)。可以使用事件代理和阻止默认行为来增强键盘按键释放事件的处理。
jQuery如何监听键盘按键释放事件?
2024-04-08

Java Swing中如何定义键盘事件

这篇文章给大家分享的是有关Java Swing中如何定义键盘事件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在jdk1.2中,分别针对Jcomponent和Text类的对象定制了不同的处理键盘事件的方法:在Jc
2023-06-03

JavaScript如何禁止某些键盘事件

小编给大家分享一下JavaScript如何禁止某些键盘事件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!禁止某些键盘事件document.addEventList
2023-06-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录