Ich bin ziemlich verloren mit wo und wie die * .txt-Level-Dateien in meinem Spiel gespeichert werden.Wo lege ich meinen benutzerdefinierten Level-Ordner in XNA-Spiel?
Was ich in meinem Spiel will, ist die Verfügbarkeit einiger "vorgebackener" Levels, die mit dem Spiel installiert werden, aber auch die Möglichkeit für Benutzer, ihre eigenen Ebenen zu erstellen.
Also was ich getan habe, ist ein neues Verzeichnis in Visual Studio in den "Inhalt" Ebenen erstellt, und lege eine "level1.txt" dort. Aber die einzige Art, wie ich die Ebene zugreifen kann * .txt-Dateien ist durch vollständigen Pfad verwenden, und ich kann sie in meiner Visual Studio-Lösung nicht enthalten, da es nicht bauen:
"C:\My Documents\blahblabh....\levels\level1.txt"
- Muß ich setzte diese „vorgebackenen "maps statt in ein Verzeichnis in der Nähe der ausführbaren Datei? Wie erstelle ich ein Verzeichnis innerhalb des Verzeichnisses/bin Bevor ich das Projekt kompiliere?
-
Wie kann ich Benutzer davon abhalten, die "vorgebackenen" Levels zu löschen, die mit dem Spiel installiert wurden?
(Ich brauche das nicht mehr) - Auch, wo ich die benutzerdefinierten Ebenen Benutzer gespeichert? Ich gehe davon aus, dass dies mit StorageDevice geschehen sollte. Aber das hängt mit der ersten Frage zusammen, wie man ein Verzeichnis nach der Bereitstellung des Spiels erstellt.
Alle Hinweise wären willkommen! Danke
EDIT: Re: kundenspezifischer zufriedener Prozessor. Das scheint viel komplizierter als ich brauche. Aber ich muss mein Spiel auch auf xbox360 bereitstellen, also wird das Speichergerät funktionieren?
Das Schreiben eines benutzerdefinierten Content-Prozessors ist nicht so schwierig und erzwingt gute Praktiken und zwingt Sie, eine vernünftige Validierung zu schreiben, während Sie Ihr Spiel beim Laden aufgrund eines viel einfacheren Leseformats beschleunigen. Es macht es auch viel einfacher, später auf X360 zu portieren. Kurz gesagt, es erfordert etwas mehr Aufwand, verhindert möglicherweise viele Fehler und ist der akzeptierte Weg, dies zu tun.:) – jfclavette
@jfclavette: Es ist wahrscheinlich Overkill für diese Aufgabe, aber es wäre definitiv eine gute Lernerfahrung - XNA ist sehr auf die Content-Pipeline konzentriert und es gibt keinen besseren Weg, um es herauszufinden. – Michael
"Solange die Ebenen unter" Inhalt "veröffentlicht sind, sollten Sie Game.Content.RootDirectory verwenden können, um die Dateien zu finden und sie einzulesen". Dies funktioniert nicht. Denn wenn ich mein "levels" -Verzeichnis unter Inhalt lege, wird es aus irgendeinem Grund nicht in das Verzeichnis/bin kopiert. Beachten Sie, dass ich meine "level1.txt" im Ordner "Content/levels" nicht in Visual Studio aufnehmen kann, da sie nicht kompiliert wird. – drozzy