2009-12-01 118 views
1

我正在加載包含多個sprite紋理的Texture2D。當我加載最初的Texture存儲到單獨的Texture2D對象中時,我想將各個紋理拉出來,但似乎無法找到任何可以讓我這樣做的方法。 SpriteBatch.Draw我相信只能從開始,結束塊內調用嗎?將xna中的紋理複製到另一個紋理中

謝謝。

+0

你說得對最後一部分。必須在開始和結束之間調用Draw。 – mauris 2009-12-01 03:58:38

回答

1

我正在加載一個Texture2D,其中包含 多個sprite紋理。當我將初始紋理加載到 存儲到單獨的Texture2D對象時,我希望 將單個紋理拉出 。

你不必這樣做,也不應該。訪問單個紋理比多個紋理更快。此外,紋理存儲在GPU紋理內存中。分裂它是沒有意義的。

您應該專注於編寫可以訪問精靈表單中各個精靈的代碼。我建議你看看基於精靈的遊戲是如何工作的。

這裏是一個偉大的教程視頻系列應該幫助你:tile engine videos

+0

我碰到過這個相同的信息。我已經重構了我的代碼,使用源矩形代替每個存儲Texture2D的Sprite。 – Casey 2009-12-02 13:39:51