В DirectX можно установить параметры D3DXSPRITE для комбинации обоих:
D3DXSPRITE_SORT_DEPTH_BACKTOFRONT
и
D3DXSPRITE_SORT_TEXTURE
Это означает, что спрайты сортируются сначала по глубине слоя, а затем по текстуре, на которой они находятся. Я пытаюсь сделать то же самое в XNA, и у меня есть некоторые проблемы. Я пробовал:
SpriteBtch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.BackToFront & SpriteSortMode.Texture, SaveStateMode.None);
Но это не работает, и, кажется, делает это в упорядочении текстур, игнорируя глубину слоя текстур. Я делаю что-то неправильно!? Или это даже невозможно?