python - 为什么我的 event.type==pygame.K_ 不工作?

标签 python events if-statement key pygame

请记住,在此之前还有更多代码,以及链接到此处的其他导入,但这与我的问题无关。

我想知道为什么我的 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()

最佳答案

一旦检测到 KEYDOWNKEYUP 事件,您需要检查 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/

相关文章:

javascript - 检测 jQuery 插件是否应用于多个元素?

JavaScript if/else 没有按预期运行

python - 如何使用 Boto3 按上次修改日期过滤 s3 对象

Python readlines 没有返回任何东西?

javascript - 在 'div' 上禁用鼠标事件

macos - 处理 MonoMac 退出/窗口关闭事件

jquery - 尝试将链接/href 路径附加到原始代码

php - 在 PHP + mysql 和 HTML 表中需要一些不合逻辑的帮助

python - 如何使用 kivy 中的 glumpy 或 vispy?

python - 如何在python中接收音频输入并将其转换为文本字符串