当前位置: 首页 > 知识库问答 >
问题:

自上而下的运动/等距运动在Pyplay

单于经纬
2023-03-14

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

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

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

我的意思的示例图像:

共有1个答案

牛智志
2023-03-14

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

假设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))

 类似资料:
  • 如果这个问题以前已经被问过,我很抱歉,但是我到处都查过了,找不到答案。 你如何做自上而下的移动pyplay? 如果我只使用矩形,这将很容易,但我将使用单个角色精灵(例如,如果我按d键使玩家向右移动,它将显示他向右移动的角色精灵并将角色向右移动)。 我所指的示例图像: 这是我的代码: 我知道这段代码可以改进,但我真的只想知道如何移动精灵。

  • 我试图找出CDI和适合我需要的最佳方法。我有一个与普通tcp通信交互的服务()。现在这个服务有一些地方需要通知某人发生了什么事情。对于这些信息,我有接口,需要将其CDI注入到正确的实现中。另一个问题是服务本身被注入一个作业()中,该作业定期执行并调用服务来完成任务。这意味着服务将多次存在。每个都有它处理的另一个tcp连接,并且有另一个需要在接口中注入另一个驱动程序/协议的设备。 让我展示参与此场景

  • 我在Ubuntu服务器上最近安装的Jenkins上运行自动化项目时遇到了麻烦。我有以下错误: 我已经读到应该更新selenium webdriver gem,但我已经更新了它。也在詹金斯安装了firefox插件,但仍然无法运行。

  • ~/.config/openbox/autostart.sh pypanel & eval `feh --bg-scale wallpaper.jpg` & conky &

  • 问题内容: 我正在尝试使用CSS和SVG创建简单的动画:旋转齿轮。该动画可以在Chrome浏览器中完美运行,但不能在Firefox中运行。这是运行中的代码: 齿轮是SVG文件中的路径: 然后使用CSS来应用动画: 使用CSS是首选方法,因为我正在动态应用该类。(向下滚动时为逆时针方向,向上滚动时为顺时针方向),但是出于这个问题的目的,我只应用一个类。Chrome可以很好地实现它,但是Firefox

  • 问题内容: 为什么我们说C这样的语言是自上而下的,而Java或C ++这样的OOP语言是自下而上的呢?这种分类在软件开发中是否有任何重要性? 问题答案: “自上而下”的方法对问题进行了高级定义,并将其细分为子问题,然后您可以递归地进行处理,直到发现明显且易于编码的部分为止。这通常与编程的“功能分解”风格相关联,但不是必须的。 在“自下而上”编程中,您确定了可以构成更大程序的较低级工具。 实际上,几