我正在使用XNA,並且遇到了一些小問題。我需要支持多個圖層,每個圖層都有一個不同的z順序(我稱之爲「視口」)。一張圖片勝過千言萬語,所以這裏是它應該是什麼樣子:在XNA中渲染多個圖層
http://www.charlesstrahan.com/so_files/viewports.png
有幾件事情需要注意。正如你可以看到Sprite B所看到的那樣,Sprites不會在其視口之外渲染。另外,請注意視口的渲染方式 - 它與Photoshop中的「圖層」非常相似。儘管Sprite C具有-1000的z順序,但C仍然呈現在Sprite A之上,因爲其視口的z順序大於A的視口z順序。
在上面的圖片中,我無法很好地展示最後一個細節。每個視口都需要在屏幕的區域內可選地呈現顏色 - 您可以將其視爲「調色」效果。
對於在XNA中實現這個最好的方式,我完全不知所措,所以我真的可以使用一小段C#/ VB.NET代碼來演示這個動作。任何幫助將不勝感激。