python无法识别按键';s';pygame.key.get_pressed()';模块
我试图创建一个函数,如果按下一个键,变量就会改变。这将被放入一个在屏幕上移动精灵的类中。释放钥匙时,while循环中断。然而,什么也没有发生。while循环正在运行,我没有收到任何错误。有人知道为什么会这样吗?我不确定是否正确使用了函数python无法识别按键';s';pygame.key.get_pressed()';模块,python,pygame,Python,Pygame,我试图创建一个函数,如果按下一个键,变量就会改变。这将被放入一个在屏幕上移动精灵的类中。释放钥匙时,while循环中断。然而,什么也没有发生。while循环正在运行,我没有收到任何错误。有人知道为什么会这样吗?我不确定是否正确使用了函数pygame.key.get_pressed() import pygame from pygame.locals import * def move(): for event in pygame.event.get(): if e
pygame.key.get_pressed()
import pygame
from pygame.locals import *
def move():
for event in pygame.event.get():
if event.type == QUIT:
pygame.QUIT()
sys.exit()
while True:
pressed = pygame.key.get_pressed()
if pressed[pygame.K_UP]:
print("something happens")
#runs this, but when up arrow key is pressed does nothing
if event.type == KEYUP:
False
screen = pygame.display.set_mode((512,384))
move()
pygame.display.update()
您可以这样做:
def move():
for event in pygame.event.get():
if event.type == QUIT:
pygame.QUIT()
sys.exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
print("up pressed")
# etc.
if event.type == pygame.KEYUP:
if event.key == pygame.K_UP:
print("up released")
# etc.
有关更多按键名称,您可以转到get_pressed()
返回列表,其中包含有关按键的信息,但此列表由pygame.event.get()
和其他事件函数更新,因此您必须始终执行pygame.event.get()
。这就是为什么我们在while循环中这样做的原因
import pygame
pygame.init()
screen = pygame.display.set_mode((512,384))
while True:
# get events and (somewhere in background) update list
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# get current list.
pressed = pygame.key.get_pressed()
if pressed[pygame.K_UP]:
print("UP")
get\u pressed()
如果不执行pygame.event.get()
,则无法工作-但您只执行一次pygame.event.get()
。这似乎不会产生不同的结果-仍然没有打印语句。然而,我没有得到一个错误?我已经删除了我的while循环,它现在可以工作了。非常感谢。