我有一个精灵组,需要按一定的顺序绘制,这样它的精灵就会重叠。
然而,即使使用运算符模块函数 (sorted(self.sprites, key=attrgetter('y','x')) 对组进行排序,顺序也是错误的。
我该如何解决这种行为?
我有一个精灵组,需要按一定的顺序绘制,这样它的精灵就会重叠。
然而,即使使用运算符模块函数 (sorted(self.sprites, key=attrgetter('y','x')) 对组进行排序,顺序也是错误的。
我该如何解决这种行为?
坦率地说,你不能:
该组不以任何顺序保存精灵,因此绘制顺序是任意的。
此类派生自
pygame.sprite.RenderUpdates
- 跟踪脏更新的组类。它维护 Sprite 添加到 Group 以进行渲染的顺序。这使得从组中添加和删除 Sprite 比常规组慢一些。
或者,您可以在不同的组中保留不同的精灵“层”,保持组的顺序正确。