我有一个精灵组,它需要按照一定的顺序绘制,这样它的精灵就会重叠。
但是,即使使用运算符模块函数(sorted(self.sprites,key=attrgetter('y','x'))对组进行排序,顺序也是错误的。
我该如何纠正这种行为呢?
发布于 2012-12-03 09:14:52
简单地说,you can't
组不以任何顺序保存子画面,因此绘制顺序是任意的。
请改用OrderedUpdates group:
组这个类派生自跟踪脏更新的pygame.sprite.RenderUpdates -
类。它会保持将Sprite添加到组中以进行渲染的顺序。这使得在组中添加和删除精灵的速度比常规组稍慢。
或者,你可以在不同的组中保留不同的精灵“层”,保持组的顺序正确。
https://stackoverflow.com/questions/13675741
复制相似问题