2009-04-21 6 views
3

Ich verstehe nicht wirklich, wie Content-Importeur/Prozessor in XNA funktioniert.Wie schreibt man einen einfachen .txt-Content-Prozessor in XNA?

Ich brauche eine Textdatei (Content/levels/level1.txt) des Formulars zu lesen:

x x 
x x 
x x 

wo x die nur ganze Zahlen sind, in einen int [,] Array.

Irgendwelche Tipps zum Schreiben eines einfachen .txt-Importers ??? Durch die Suche nach google/msdn habe ich nur .x/.fbx Dateiimporteure gefunden. Und sie scheinen zu kompliziert.

Antwort

10

Müssen Sie die Textdatei tatsächlich verarbeiten? Wenn nicht, können Sie wahrscheinlich den größten Teil der Content-Pipeline überspringen.

Etwas wie:

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 
} 

auch sicher, dass die „Build Aktion“, um auf „None“ und die „Ausgabeverzeichnis kopieren“ auf „Kopieren, falls neuere“ auf den Textdateien, die Sie haben hinzugefügt. Dies weist die Inhaltspipeline an, die Textdatei nicht zu kompilieren, sondern sie stattdessen in das Ausgabeverzeichnis zu kopieren.

Ich habe diese (mehr oder weniger) aus dem RacingGame-Beispiel von Microsoft zur Verfügung gestellt. Es verzichtet weitgehend auf die Content-Pipeline und lädt und verarbeitet Textdateien (XML) für einen Großteil seiner Ebenendaten.

2

Es scheint nicht viele Informationen da draußen zu geben, aber dieser Blogpost gibt an, wie Sie TXT-Dateien über Code mit XNA laden können.

Hoffentlich kann dies Ihnen helfen, die Datei in den Speicher zu bekommen, von dort sollte es einfach sein, es zu analysieren, wie Sie möchten.

XNA 3.0 - Reading Text Files on the Xbox

+0

Warum kann ich es in Content-Ordner? Ich habe es dort eingefügt und "Copy if neuher" ausgewählt und kann es mit "Game.Content.RootDirectory" + "levels/level1.txt" laden. – drozzy

+0

Danke, das funktioniert! Chad schrieb die Antwort aus, also gebe ich es ihm – drozzy

Verwandte Themen