gpt4 book ai didi

python - 为什么我在不释放 key 的情况下获得 Pygame KEYUP 事件?

转载 作者:太空宇宙 更新时间:2023-11-04 02:25:50 25 4
gpt4 key购买 nike

首先,我是一个完全的初学者,所以我没有任何经验,但是这两天我已经搜索了所有可能的地方以解决问题,但没有找到。

我在带有 Raspbian 的 Raspberry PI 3 上使用它。

我正在尝试在 Python 3.6 中构建一个简单的代码,它将执行以下操作:当按下键盘键时:

1.如果按键被按下,它应该打印'press',而不重复。

(如果按住该键,它应该只打印一次“按下”并停止)。

2.如果没有重复释放键,它应该打印'release'。

基本上我想打印一次键的最后状态,

我遇到的问题是:

在按住键的同时,我得到连续的按下/释放按下/释放按下/释放事件,即使没有物理释放任何键,而不是只获得 1 个“按下”。

下面是我尝试使用的代码。

#!/usr/bin/env python
import pygame
from pygame.locals import *
from time import sleep
import time

pygame.init()
screen = pygame.display.set_mode((800,800))

keys= [False]
last = None
pygame.key.set_repeat()

while True:
if keys[0]==True and last != 'press':
print ('press')
last = 'press'

if keys[0]==False and last != 'release':
print('release')
last = 'release'

for event in pygame.event.get():
if event.type==pygame.QUIT:
pygame.quit()
exit(0)

if event.type == pygame.KEYDOWN:
if event.key==K_d:
keys[0]=True

if event.type == pygame.KEYUP:
if event.key==K_d:
keys[0]=False

最佳答案

问题解决了,因为我使用的是VNC,而不是直接连接到Raspberry Pi的键盘。

关于python - 为什么我在不释放 key 的情况下获得 Pygame KEYUP 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50434460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com