python - Pygame,按下一个键时正好执行 1 次命令,然后等待另一次单击

标签 python button pygame key

if key("LEFT"):
    if select_x != 100:
        select_x-=64
    else:
        print("BORDER REACHED")

如果你运行程序并按下左键,pygame 将永远执行下面写的命令,直到你停止按下该键,我希望 pygame 只执行命令 1 次,然后等待下一次点击。

最佳答案

在事件循环中做事件处理 for event in pygame.event.get()::

import pygame as pg


pg.init()
screen = pg.display.set_mode((320, 240))
clock = pg.time.Clock()
select_x = 164
done = False

while not done:
    for event in pg.event.get():
        if event.type == pg.QUIT:
            done = True
        elif event.type == pg.KEYDOWN:
            if event.key == pg.K_LEFT:
                if select_x != 100:
                    select_x -= 64
                else:
                    print("BORDER REACHED")

    screen.fill((30, 30, 30))
    pg.display.flip()
    clock.tick(30)

pg.quit()

关于python - Pygame,按下一个键时正好执行 1 次命令,然后等待另一次单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47321340/

相关文章:

python - 尝试在 GPU 上运行时如何修复 "Failed to load the native TensorFlow runtime."错误?

python - CosmosDB Python获取多个项目

javascript - Material-ui Button onClick() causes "Uncaught TypeError: Cannot read property ' name' of undefined"错误

python - Pygame display init on headless Raspberry Pi Zero (Raspbian Buster Lite)

python - 在 Pygame 中组合纹理图 block 、墙壁和导出的单独关卡贴图

python - 如何制作一个由另一个发电机组成的发电机

Python - oauth2 - linkedin API

wordpress - WooCommerce 加号和减号按钮

jquery - 如何在 .show jquery 之后添加时间延迟

python - 同时使用 Python 3.1 和 2.5