首页 > 解决方案 > Pygame中的自上而下运动/等距运动

问题描述

很抱歉,如果这个问题之前已经被问过,但我到处检查过,但找不到答案。

你如何在pygame中进行自上而下的运动?

如果我只使用矩形,这将很容易,但我将使用单个角色精灵(例如,如果我按 d 让玩家向右走,它会向我显示他向右走的角色精灵并向右移动角色) .

我的意思的示例图像:

标签: pythonpython-3.xpygame

解决方案


根据角色前进的方向绘制不同的精灵。

假设dx/dy是角色的速度和x/y它在屏幕上的位置,

up_sprite = pygame.image.load('up.png')
down_sprite = pygame.image.load('down.png')
left_sprite = pygame.image.load('left.png')
right_sprite = pygame.image.load('right.png')

sprite = down_sprite  # to initialize things off with

def your_game_loop():

    if dx > 0:
       sprite = right_sprite
    elif dx < 0:
       sprite = left_sprite
    elif dy > 0:
       sprite = down_sprite
    elif dy < 0:
       sprite = up_sprite

    sprite.blit(screen, (x, y))


推荐阅读