4

我有一个精灵组,需要按一定的顺序绘制,这样它的精灵就会重叠。

然而,即使使用运算符模块函数 (sorted(self.sprites, key=attrgetter('y','x')) 对组进行排序,顺序也是错误的。

我该如何解决这种行为?

4

1 回答 1

8

坦率地说,你不能

该组不以任何顺序保存精灵,因此绘制顺序是任意的。

改用OrderedUpdates 组

此类派生自pygame.sprite.RenderUpdates- 跟踪脏更新的组类。它维护 Sprite 添加到 Group 以进行渲染的顺序。这使得从组中添加和删除 Sprite 比常规组慢一些。

或者,您可以在不同的组中保留不同的精灵“层”,保持组的顺序正确

于 2012-12-03T01:14:52.343 回答