【问题标题】:Error with detecting Keypresses in pygame在pygame中检测按键错误
【发布时间】:2013-10-26 21:42:02
【问题描述】:

我最近在 pygame 中创建了一个警察和强盗游戏。在我尝试添加对警察的控制之前,我所有的代码都在工作。这是我正在使用的:

while True:
for event in pygame.event.get():
    if event.type == pygame.QUIT:
        sys.exit()
    elif event.type == pygame.KEYDOWN:
        if pygame.key.get_pressed()[K_LEFT]:
            coprect[0] -= 5
        if pygame.key.get_pressed()[K_RIGHT]:
            coprect[0] += 5
        if pygame.key.get_pressed()[K_DOWN]:
            coprect[1] -= 5
        if pygame.key.get_pressed()[K_UP]:
            coprect[1] += 5

在我之前的代码中:

pygame.key.set_repeat(1, 2)

这样按键就会重复。

我得到的错误是:

Traceback(最近一次调用最后一次): 文件“C:\Users*username*\Documents\Programming\colour_flasher.py”,第 22 行,在 如果 pygame.key.get_pressed()[K_LEFT]: NameError: 名称“K_LEFT”未定义

有什么帮助吗? 先谢谢了?

【问题讨论】:

    标签: python pygame traceback


    【解决方案1】:

    如果你尝试:

    pygame.K_LEFT

    它应该可以工作

    http://www.pygame.org/docs/ref/key.html

    【讨论】:

    • get_pressed 用于当您想要“在按住此键时执行操作”。我用于 WASD。但是其他使用“按下时”的键我使用事件处理。这样我就不必弄乱自动重复的键了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多