如何在XNA中编写一个简单的.text内容处理器?

时间:2009-04-21 23:34:56

标签: xna

我真的不明白内容导入器/处理器在XNA中的工作方式。

我需要阅读表格的文本文件(Content / levels / level1.txt):

x x
x x
x x

其中x只是整数,变成int [,]数组。

有关编写SIMPLE .txt导入程序的任何提示???通过搜索google / msdn我只找到.x / .fbx文件导入器示例。它们似乎太复杂了。

4 个答案:

答案 0 :(得分:10)

你真的需要处理文本文件吗?如果没有,那么你可以跳过大部分内容管道。

类似的东西:

string filename = "Content/TextFiles/sometext.txt";
string path = Path.Combine(StorageContainer.TitleLocation, filename);

string lineOfText;
StreamReader sr = new StreamReader(path);
while ((lineOfText = sr.ReadLine()) != null)
{
  // do something
}

此外,请确保在您添加的文本文件中将“Build Action”设置为“None”,将“Copy to output Directory”设置为“Copy if newer”。这告诉内容管道不要编译文本文件,而是将其复制到输出目录中以便按原样使用。

我从微软提供的RacingGame示例中得到了这个(或多或少)。它放弃了大部分内容管道,只需加载和处理大部分级别数据的文本文件(XML)。

答案 1 :(得分:4)

XNA 4.0使用

System.IO.Stream stream = TitleContainer.OpenStream("tilename.txt");

请参阅http://msdn.microsoft.com/en-us/library/bb199094.aspx以及http://blogs.msdn.com/b/shawnhar/archive/2010/12/09/reading-files-in-xna-game-studio-4-0.aspx

答案 2 :(得分:2)

似乎没有很多信息,但是这篇博文确实说明了如何使用XNA通过代码加载.txt文件。

希望这可以帮助您将文件存入内存,从那里可以直接以您喜欢的任何方式解析它。

XNA 3.0 - Reading Text Files on the Xbox

答案 3 :(得分:2)

http://www.ziggyware.com/readarticle.php?article_id=69可能是个好地方。它包括创建基本内容处理器。