时间:2021-05-22
方式1:在pygame中使用pygame.event.get()方法捕获键盘事件,使用这个方式捕获的键盘事件必须要是按下再弹起才算一次。
示例示例:
方式2:在pygame中可以使用pygame.key.get_pressed()来返回所有按键元组,通过判断键盘常量,可以在元组中判断出那个键被按下,如果被按下则元组中就会存在这个按键信息。通过这样的方式也可以捕获到键盘的事件,并且不需要按下再弹起的操作,一按下就会有响应,灵活性比较高。
示例代码:
mykeyslist = pygame.key.get_pressed() # 获取按键元组信息if mykeyslist[pygame.K_RIGHT]: # 如果按键按下,这个值为1 print("按下了方向右键")总结:
两种方式的比较:方式1的灵活性没有方式2的好,如果对灵活性要求高的游戏,一般建议使用方式2。
在写一个pygame 的一个小的飞机大战程序但是碰到一个小问题,仅此记录
通过键盘事件操控飞机的左右移动:
虽然能实现移动,但是每一次的移动都需要按一下按钮,使我感觉很难受
想实现可以持续按下,并且可以相应的效果
查资料发现
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()pygame的对应帮助文档:
https://ment_pygame_key_set_repeat
到此这篇关于详解pygame捕获键盘事件的两种方式的文章就介绍到这了,更多相关pygame捕获键盘内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
python中捕获键盘操作一共有两种方法第一种方法:使用pygame中event方法使用方式如下:使用键盘右键为例ifevent.type=pygame.KEY
javascript,jquery的事件中都存在事件冒泡和事件捕获的问题,下面将两种问题及其解决方案做详细总结。事件冒泡是一个从子节点向祖先节点冒泡的过程;事件
javascript中事件冒泡和事件捕获机制的详解二者作用:描述事件触发时序问题事件捕获:从document到触发事件的那个节点,即自上而下的去触发事件---由
AndroidSharedPreferences详解获取SharedPreferences的两种方式:1调用Context对象的getSharedPrefere
捕获组有两种形式一种是普通的捕获组,不产生歧义的情况下,后面简称捕获组,语法规则:(expression);另一种是命名捕获组,语法规则:(?expressio