pygame深度视觉动画

2024-10-03 23:29:15 发布

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

我一直在尝试使用pygame包用python创建一个简单的游戏。这是一个2人篮球比赛,我想知道是否有一种方法可以使球员在篮前时被打印在篮上,在篮后时被打印在篮下。我知道显示图像的顺序是由编辑器中编写代码的顺序组织的,所以我想知道如何根据X坐标临时更改顺序


Two figures


例如,在上面的png中,左侧对象中的球体位于正方形上方,右侧对象中的正方形位于圆形上方

在这个例子中,圆圈是不可移动的物体(篮子),正方形是玩家


Tags: 对象方法代码图像游戏png顺序圆形
1条回答
网友
1楼 · 发布于 2024-10-03 23:29:15

对于一般情况,您需要一个sprite系统,其中您绘制的所有内容都具有“depth”属性和you draw things in that sorted order, from back to front, i.e. Painter's algorithm

pygame: drawing order for sprite group with sprite.RenderPlain有一个稍微相关的问题和答案

如果你不使用精灵之类的东西,你当然可以手动操作,但是对于一个更复杂的游戏,我认为这会非常乏味,而且会让人感觉像意大利面条一样:

if player_y < basket_y:
   draw_basket()
   draw_player()
else:
   draw_basket()
   draw_player()

相关问题 更多 >