python - 使用按键时连续运行的循环[pygame.K_SPACE] Python/Pygame

标签 python pygame

我是一名 10 年级学生,正在使用 Pygame 使用 Python 开发一个简单的视频游戏项目。 当我按下空格键时,应该执行此代码:

if keys[pygame.K_SPACE]: 

    shotflag = True

    shotX = shipX+((shipwidth/2)-(shotwidth/2))  

    shotY = shipY - 10

问题是......它会连续执行,直到我将手指从空格键上移开。我只想让它执行一次。 有一个更好的方法吗?我可以使用空格键 RELEASED 事件吗?那么它只触发一次吗?

提前致谢。 马修

最佳答案

添加到 Ianin Shelvington 的答案中,您应该在主游戏循环中处理事件。

pygame 文档中的更多信息:here

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        running = False
    if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_SPACE:
            #TODO

关于python - 使用按键时连续运行的循环[pygame.K_SPACE] Python/Pygame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59258353/

相关文章:

python - 使用 imshow 进行轴定位 - python

python - 从数组交换边

基于Python图 block 的游戏(二维数组)玩家移动

python - Pygame:为什么我无法绘制圆形 Sprite

python - 如何让 pygame 只识别一次鼠标点击?

python - 如何将字符串添加到 Pandas 数据框列系列中的每一行?

Python 3.6 multiprocessing.Pool 间歇性无法在 KeyboardInturrupt 上退出

python - 链接器错误 Lunatic Python lua.require ('socket' ) -> undefined symbol : lua_getmetatable

python - 我无法让我的类(class)在 pygame 中工作

python - 使用pygame添加图像