特定の順序で描画する必要があるスプライト グループがあるので、そのスプライトは必要に応じてオーバーラップします。
ただし、演算子モジュール関数 (sorted(self.sprites, key=attrgetter('y','x'))) を使用してグループを並べ替えても、順序が間違っています。
この動作を修正するにはどうすればよいですか?
特定の順序で描画する必要があるスプライト グループがあるので、そのスプライトは必要に応じてオーバーラップします。
ただし、演算子モジュール関数 (sorted(self.sprites, key=attrgetter('y','x'))) を使用してグループを並べ替えても、順序が間違っています。
この動作を修正するにはどうすればよいですか?
簡単に言うと、次のことはできません。
Group は任意の順序でスプライトを保持しないため、描画順序は任意です。
代わりにOrderedUpdates グループを使用します。
このクラスの派生元
pygame.sprite.RenderUpdates
- ダーティ アップデートを追跡するグループ クラス。レンダリングのためにスプライトがグループに追加された順序を維持します。これにより、グループへのスプライトの追加と削除が、通常のグループよりも少し遅くなります。
または、スプライトの異なる「レイヤー」を異なるグループに保持して、グループの順序を正しく保つことができます。