我真的不明白内容导入器/处理器在XNA中的工作方式。
我需要阅读表格的文本文件(Content / levels / level1.txt):
x x
x x
x x
其中x只是整数,变成int [,]数组。
有关编写SIMPLE .txt导入程序的任何提示???通过搜索google / msdn我只找到.x / .fbx文件导入器示例。它们似乎太复杂了。
答案 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文件。
希望这可以帮助您将文件存入内存,从那里可以直接以您喜欢的任何方式解析它。
答案 3 :(得分:2)
http://www.ziggyware.com/readarticle.php?article_id=69可能是个好地方。它包括创建基本内容处理器。