Как написать простой обработчик контента .txt в XNA? - PullRequest
3 голосов
/ 22 апреля 2009

Я не совсем понимаю, как импортер / процессор контента работает в XNA.

Мне нужно прочитать текстовый файл (Content / levels / level1.txt) в форме:

x x
x x
x x

где x - просто целые числа, в массив int [,].

Любые советы по написанию простого импортера .txt ??? Поиском в google / msdn я нашел только примеры импортеров файлов .x / .fbx. И они кажутся слишком сложными.

Ответы [ 4 ]

10 голосов
/ 22 апреля 2009

Вам действительно нужно обработать текстовый файл? Если нет, то вы можете пропустить большую часть конвейера контента.

Что-то вроде:

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
}

Кроме того, обязательно установите для параметра «Действие сборки» значение «Нет», а для «Копировать в выходной каталог» - «Копировать, если новее» в добавленных вами текстовых файлах. Это говорит конвейеру содержимого не компилировать текстовый файл, а скорее скопировать его в выходной каталог для использования как есть.

Я получил это (более или менее) из образца RacingGame, предоставленного Microsoft. Он отказывается от большей части конвейера контента и просто загружает и обрабатывает текстовые файлы (XML) для большей части данных своего уровня.

4 голосов
/ 02 февраля 2011

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 голосов
/ 22 апреля 2009

http://www.ziggyware.com/readarticle.php?article_id=69, вероятно, хорошее место для начала. Он охватывает создание базового процессора контента.

2 голосов
/ 22 апреля 2009

Кажется, что там не так много информации, но этот пост в блоге действительно показывает, как вы можете загружать .txt файлы через код, используя XNA.

Надеюсь, это поможет вам загрузить файл в память, оттуда будет просто разобрать его любым удобным вам способом.

XNA 3.0 - чтение текстовых файлов на Xbox

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...