我有一个精灵组,需要按照一定的顺序绘制,以便它的精灵重叠。
然而,即使使用运算符模块函数对其进行排序(已排序(self.sprites,key = attrgetter('y','x')),顺序也是错误的。
如何解决此问题?
答案 0 :(得分:8)
直截了当,you can't:
本集团并未以任何顺序保留精灵,因此抽奖订单为 任意的。
改为使用OrderedUpdates group:
此类派生自
pygame.sprite.RenderUpdates
- Group类 跟踪脏更新。它维持精灵的顺序 添加到集团进行渲染。这使得添加和删除 该集团的精灵比常规集团慢一点。
或者,你可以在不同的组中保留不同的'spits'层,保持 groups 的顺序正确。