python 我如何使它只有当一个键被按下,其他关键功能的工作

pod7payv  于 2023-03-28  发布在  Python
关注(0)|答案(1)|浏览(117)

我希望它,所以你只能做左,右和向上移动时,1键被按下第一。如果我取消缩进他们,它的工作,但你仍然可以移动,而不按1键,所以我想改变这一点。
我尝试使用while循环,但它会崩溃或根本不工作。这是我需要修复的代码部分。(https://i.stack.imgur.com/hlI1Q.jpg

ryevplcw

ryevplcw1#

添加另一个状态变量来跟踪游戏的一般状态,并在用户按下K_1时更改它。

run = True
game_state = "menu"
while run:
  if game_state == "menu":
    if keys[pygame.K_1]:
      # clean up sprites or whatnot
      game_state = "playing"
  elif game_state == "playing":
     if keys[pygame.K_LEFT]:  # ...

没有什么说你不能把你的游戏分成多个主循环,但是,如果这对你来说更简单的话。

def handle_menu():
    while True:
        # draw menu, handle menu input, etc.
        if keys[pygame.K_1]:
             return 1  # assume this means 1 player
        if keys[pygame.K_2]:
             return 2  # assume this means 2 players

def handle_game(player_count):
    while True:
        # draw actual game, etc.

def main():
    player_count = handle_menu()
    handle_game(player_count)

相关问题