静态游戏的Pygame碰撞

2024-10-06 11:26:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个游戏,玩家角色总是停留在屏幕中央,而周围的墙会改变位置,就像许多自顶向下的游戏一样。你知道吗

我的问题是我有一张墙的清单pygame矩形但是我想不出一个方法来让碰撞在静态播放器上正常工作。我有这样的变量

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

其中墙包含当前标高的所有墙。当玩家与其中一个长方形碰撞时,它会正确调整并阻止其他所有的墙移动。 玩家rect的位置永远不会改变,因此必须始终是[100100],但是墙的位置确实会改变。你知道吗


Tags: 方法rect游戏角色屏幕玩家静态播放器
1条回答
网友
1楼 · 发布于 2024-10-06 11:26:09

不要移动墙壁。移动玩家。然后当你画出所有的游戏对象时,只需减去玩家的坐标,再加上(100100)就可以得到玩家不动的样子。你的游戏模型应该始终代表你的游戏的实际状态,渲染的考虑通常只发生在渲染时。你知道吗

相关问题 更多 >