4

特定の順序で描画する必要があるスプライト グループがあるので、そのスプライトは必要に応じてオーバーラップします。

ただし、演​​算子モジュール関数 (sorted(self.sprites, key=attrgetter('y','x'))) を使用してグループを並べ替えても、順序が間違っています。

この動作を修正するにはどうすればよいですか?

4

1 に答える 1

8

簡単に言うと、次のことはできません

Group は任意の順序でスプライトを保持しないため、描画順序は任意です。

代わりにOrderedUpdates グループを使用します。

このクラスの派生元pygame.sprite.RenderUpdates- ダーティ アップデートを追跡するグループ クラス。レンダリングのためにスプライトがグループに追加された順序を維持します。これにより、グループへのスプライトの追加と削除が、通常のグループよりも少し遅くなります。

または、スプライトの異なる「レイヤー」を異なるグループに保持して、グループの順序を正しく保つことができます。

于 2012-12-03T01:14:52.343 に答える