Pygame与静态玩家

时间:2017-08-18 15:13:51

标签: python python-3.x pygame

我正在创造一种游戏,其中玩家角色总是停留在屏幕的中心,周围的墙壁会改变位置,就像许多自上而下的游戏一样。

我的问题是我有一个墙壁列表pygame.Rects但我无法找到一种方法使冲突与静态播放器正常工作。我有像这样的变量

walls = [pygame.Rect([0, 0, 20, 20]), ...]
player = pygame.Rect([100, 100, 20, 20])

其中wall包含当前级别的所有墙。当玩家与其中一个碰撞时,如何正确调整并阻止所有其他墙壁移动,我该如何做到这一点。 玩家矩阵的位置永远不会改变,因此必须始终为[100,100],但是墙壁位置确实会发生变化。

1 个答案:

答案 0 :(得分:2)

不要移动墙壁。移动播放器。然后,当您绘制所有游戏对象时,只需减去玩家的坐标并添加(100,100)即可让玩家看起来不动。您的游戏模型应始终代表游戏的实际状态,渲染注意事项通常只应在渲染时进行。