XNA文件加载

时间:2020-03-06 14:22:53  来源:igfitidea点击:

在XNA中,如何在不使用内容管道的情况下从文件加载纹理或者网格?

解决方案

我相信Texture2D.FromFile();是我们要寻找的。

看起来我们无法使用Model来做到这一点。

http://msdn.microsoft.com/zh-CN/library/microsoft.xna.framework.graphics.texture2d.fromfile.aspx

.FromFile方法不适用于xbox或者zune。我们有两种选择:

  • 只需在xbox或者zune上使用内容管道...(如果我们关心它们),无论如何我们都无法获得用户提供的内容,因此,仅使用内容管道也没关系。
  • 编写代码以加载纹理(使用.SetData),或者当然可以解析模型文件并加载适当的顶点缓冲区等。

对于有兴趣从文件加载模型的任何人,请查看本教程:

http://creators.xna.com/en-us/sample/winforms_series2

这是仅Windows的一种加载纹理而不通过管道加载纹理的方法,正如上文Cory所述,必须先编译所有内容,然后才能在Xbox和Zune上加载它。

Texture2D texture = Texture2D.FromFile(GraphicsDeviceManager.GraphicsDevice,@Location of Texture Here.png);