请记住,在此之前还有更多代码,以及链接到此处的其他导入,但这与我的问题无关。
我想知道为什么我的 event.type==pygame.K_RIGHT 命令不起作用。 当我运行代码时,它说没有错误,但玩家无法移动。
pygame.mouse.set_cursor(*pygame.cursors.diamond)
movex, movey = 0,0
while gameLoop:
for event in pygame.event.get():
if (event.type==pygame.QUIT):
gameLoop=False
if (event.type==pygame.KEYDOWN):
if (event.type==pygame.K_d):
movex=5
elif (event.type==pygame.K_a) :
movex=-5
if (event.type==pygame.KEYUP):
if (event.type==pygame.K_RIGHT):
movex=0
elif (event.type==pygame.K_LEFT) :
movex=0
window.fill (blue)
player.render(window)
player.x+=movex
clock.tick(60)
pygame.display.flip()
pygame.quit()
最佳答案
一旦检测到 KEYDOWN
或 KEYUP
事件,您需要检查 event.key
属性而不是 event。输入
以了解按下了哪个键。像这样的事情:
for event in pygame.event.get():
# The KEYDOWN event was posted
if event.type == pygame.KEYDOWN:
# The down arrow key was pressed
# Note the key attribute is being checked rather than type
if event.key == pygame.KEY_DOWN:
# do something
# The right arrow key was pressed
elif event.key == pygame.K_RIGHT:
# do something else
关于python - 为什么我的 event.type==pygame.K_ 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26447292/