以.xnb格式保存Texture2D

时间:2012-03-12 10:11:56

标签: c# xna

我想以.xnb格式保存加载的Texture2D,我该怎么办?

谢谢!

2 个答案:

答案 0 :(得分:2)

您需要使用Codeplex上托管的ContentCompiler项目。它允许您将图像构建为.xnb格式。

答案 1 :(得分:2)

这有效吗?

嗯,我认为你不能按照你想要的方式做到这一点。原因是XNB文件是在游戏运行时之外创建的。 ContentManager只是一种加载/反序列化此数据的方法。这可以在XNA content pipeline's architecture的图表中看到。

Diagram of the XNA Content Pipeline Architecture

那你该怎么办?

我猜你想要做的是在游戏过程中保存图像信息并加载回来。为此,你需要写出Texture2d信息,就像你在XNA中保存任何其他内容一样。在MSDN上对“Saving Data to a Save Game file”有很大的帮助,所以我不会重申他们所说的那么好。

为了获取纹理数据并将其写回,您需要使用名为Texture2D.SetDataTexture2D.GetData的一对Texture2D方法。我可能只是use this overload that gets an array and sets an array of color information

仅更新Windows

App Hub有一个code sample for creating XNB files on Windows,如果计算机安装了XNA Game Studio,它将允许您这样做。