首页 > 解决方案 > 玩家在pygame中不动

问题描述

我用 pygame 创建了一个程序。背景和播放器正在出现,但播放器没有移动。程序没有给出任何错误,你能帮帮我吗?我正在使用 python 3.8.6。这是我的一些代码。

 # Game Loop
running = True
while running:

for event in pygame.event.get():

    player(playerX, playerY)
    pygame.display.update()

        # Movment
if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_a:
        player_x_change -= 10
    if event.key == pygame.K_d:
        player_x_change += 10
    if event.key == pygame.K_w:
            player_y_change -= 10
    if event.key == pygame.K_s:
            player_y_change += 10

if event.type == pygame.KEYUP:
    if event.key == pygame.K_a:
        player_x_change = 0
    if event.key == pygame.K_d:
        player_x_change = 0
        
    # Close the game
    if event.type == pygame.QUIT:
        running = False

标签: pythonpygame

解决方案


当用户按下按钮移动角色然后更新玩家位置时,您需要检查事件。例如,这里检查玩家是否按下了右箭头:

while running:
    for event in pygame.event.get():

        player(playerX, playerY)

        pygame.display.update()

        # checking if right arrow is being pressed
        if events.type == pygame.KEYDOWN:
            if events.key == pygame.K_RIGHT
                # update players x position here to move right
                # for example, player.x += 2

        # Close the game
        if event.type == pygame.QUIT:
            running = False

推荐阅读